/* PayAndes public site styles (landing, resellers, legal pages and 404) */

/* Tokens */
:root{
  color-scheme:light;
  --background:oklch(1 0 0);
  --foreground:oklch(.145 0 0);
  --card:oklch(1 0 0);
  --card-foreground:oklch(.145 0 0);
  --popover:oklch(1 0 0);
  --primary:oklch(.205 0 0);
  --primary-foreground:oklch(.985 0 0);
  --secondary:oklch(.97 0 0);
  --secondary-foreground:oklch(.205 0 0);
  --muted:oklch(.97 0 0);
  --muted-foreground:oklch(.556 0 0);
  --accent:oklch(.97 0 0);
  --border:oklch(.922 0 0);
  --input:oklch(.922 0 0);
  --ring:oklch(.708 0 0);
  --sidebar:oklch(.985 0 0);
  --success:oklch(.627 .194 149.214);
  --warning:oklch(.666 .179 58.318);
  --danger:oklch(.577 .245 27.325);
  --radius:.625rem;
  --radius-sm:calc(var(--radius)*.6);
  --radius-md:calc(var(--radius)*.8);
  --radius-lg:var(--radius);
  --radius-xl:calc(var(--radius)*1.4);
  --radius-2xl:calc(var(--radius)*1.8);
  --font-sans:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --font-mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace;
  --shadow-xs:0 1px 2px 0 rgb(0 0 0 / .05);
  --shadow-sm:0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
  --shadow-md:0 4px 6px -1px rgb(0 0 0 / .1),0 2px 4px -2px rgb(0 0 0 / .1);
  --shadow-lg:0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease:cubic-bezier(.4,0,.2,1);
  --header-h:4rem;
  --container:108rem;
  --gutter:clamp(1rem,.25rem + 2.5vw,3rem);
  /* derived (resolved on <html>, so they follow .dark automatically) */
  --ring-50:color-mix(in oklab,var(--ring) 50%,transparent);
  --fg-10:color-mix(in oklab,var(--foreground) 10%,transparent);
  --primary-10:color-mix(in oklab,var(--primary) 10%,transparent);
  --muted-50:color-mix(in oklab,var(--muted) 50%,transparent);
  --input-30:color-mix(in oklab,var(--input) 30%,transparent);
  --input-50:color-mix(in oklab,var(--input) 50%,transparent);
  --success-10:color-mix(in oklab,var(--success) 10%,transparent);
  --warning-10:color-mix(in oklab,var(--warning) 12%,transparent);
  --danger-10:color-mix(in oklab,var(--danger) 10%,transparent);
  --focus:color-mix(in oklab,var(--foreground) 72%,transparent);
  --grid-line:color-mix(in oklab,var(--foreground) 7%,transparent);
  --grid-cell:color-mix(in oklab,var(--foreground) 5%,transparent);
  --dot:color-mix(in oklab,var(--foreground) 13%,transparent);
  --surface-muted:color-mix(in oklab,var(--muted) 60%,var(--background));
  --shadow-ring:0 0 0 1px var(--fg-10),var(--shadow-xs);
  --shadow-float:0 0 0 1px var(--fg-10),0 1px 2px rgb(0 0 0 / .04),0 24px 48px -18px rgb(0 0 0 / .18);
  --shadow-frame:0 0 0 1px var(--fg-10),0 2px 4px rgb(0 0 0 / .03),0 40px 90px -36px rgb(0 0 0 / .3);
}
.dark{
  color-scheme:dark;
  --background:oklch(.145 0 0);
  --foreground:oklch(.985 0 0);
  --card:oklch(.205 0 0);
  --card-foreground:oklch(.985 0 0);
  --popover:oklch(.205 0 0);
  --primary:oklch(.922 0 0);
  --primary-foreground:oklch(.205 0 0);
  --secondary:oklch(.269 0 0);
  --secondary-foreground:oklch(.985 0 0);
  --muted:oklch(.269 0 0);
  --muted-foreground:oklch(.708 0 0);
  --accent:oklch(.269 0 0);
  --border:oklch(1 0 0 / 10%);
  --input:oklch(1 0 0 / 15%);
  --ring:oklch(.556 0 0);
  --sidebar:oklch(.205 0 0);
  --success:oklch(.792 .209 151.711);
  --warning:oklch(.828 .189 84.429);
  --danger:oklch(.704 .191 22.216);
  --surface-muted:color-mix(in oklab,var(--card) 55%,var(--background));
  --shadow-float:0 0 0 1px var(--fg-10),0 24px 48px -18px rgb(0 0 0 / .65);
  --shadow-frame:0 0 0 1px var(--fg-10),0 40px 90px -36px rgb(0 0 0 / .85);
}

/* Base */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border:0 solid var(--border)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem);-webkit-tap-highlight-color:transparent}
body{min-height:100vh;min-height:100svh;background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:'cv11','ss01'}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;line-height:1.2}
a{color:inherit;text-decoration:none}
b,strong{font-weight:600}
img,svg{display:block;vertical-align:middle}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit;background:transparent}
button{cursor:pointer}
ul,ol{list-style:none}
table{border-collapse:collapse}
fieldset{min-width:0}
code,kbd,samp{font-family:var(--font-mono)}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}
::selection{background:color-mix(in oklab,var(--foreground) 14%,transparent)}
html.menu-open{overflow:hidden}
.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}
.skip-link{position:fixed;top:-4rem;left:1rem;z-index:100;padding:.5rem .875rem;border-radius:var(--radius-md);background:var(--primary);color:var(--primary-foreground);font-size:.875rem;font-weight:500;transition:top .15s var(--ease-out)}
.skip-link:focus{top:1rem}
.icon{flex-shrink:0}
.mono{font-family:var(--font-mono)}
.tabular{font-variant-numeric:tabular-nums}
.muted{color:var(--muted-foreground)}

/* Primitives */
.container{width:100%;max-width:calc(var(--container) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}

.section{position:relative;padding-block:clamp(4rem,2.75rem + 4.5vw,7rem)}
.section-muted{background:var(--surface-muted);border-block:1px solid var(--border)}
.section-head{max-width:42rem;margin-bottom:clamp(2.25rem,1.75rem + 2vw,3.5rem)}
.section-head.is-center{margin-inline:auto;text-align:center}
.section-title{font-size:clamp(1.75rem,1.2rem + 2.1vw,2.625rem);font-weight:600;letter-spacing:-.035em;line-height:1.1;text-wrap:balance}
.section-lead{margin-top:1rem;color:var(--muted-foreground);font-size:clamp(1rem,.96rem + .2vw,1.0625rem);line-height:1.65;text-wrap:pretty}
.section-head.is-center .section-lead{margin-inline:auto;max-width:36rem}
.section.is-clip{overflow:hidden;overflow:clip}
/* Split head (title left, lead right) and responsive head (centered, left on desktop) */
.section-head.is-split,.section-head.is-responsive{margin-inline:auto;text-align:center}
.section-head.is-split{max-width:44rem}
.section-head.is-split .section-lead,.section-head.is-responsive .section-lead{margin-inline:auto;max-width:36rem}
@media (min-width:1024px){
  .section-head.is-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:0 4rem;max-width:none;text-align:left}
  .section-head.is-split .kicker{grid-column:1/-1}
  .section-head.is-split .section-title{max-width:38rem}
  .section-head.is-split .section-lead{justify-self:end;max-width:34rem;margin:0}
  .section-head.is-responsive{margin-inline:0;text-align:left}
  .section-head.is-responsive .section-lead{margin-inline:0}
  .section-head.is-split .kicker,.section-head.is-responsive .kicker{justify-content:flex-start}
  .section-head.is-split .kicker::before,.section-head.is-responsive .kicker::before{display:none}
}

.eyebrow{display:inline-flex;align-items:center;gap:.375rem;height:1.75rem;margin-bottom:1rem;padding:0 .75rem;border:1px solid var(--border);border-radius:9999px;background:var(--background);color:var(--muted-foreground);font-size:.8125rem;font-weight:500;line-height:1}
.eyebrow svg{width:.875rem;height:.875rem;color:var(--foreground)}

.btn{--h:2.25rem;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;flex-shrink:0;height:var(--h);padding:0 .875rem;border:1px solid transparent;border-radius:var(--radius-md);background:var(--primary);background-clip:padding-box;color:var(--primary-foreground);font-size:.875rem;font-weight:500;line-height:1;white-space:nowrap;user-select:none;-webkit-user-select:none;cursor:pointer;outline:none;transition:background-color .16s var(--ease-out),color .16s var(--ease-out),border-color .16s var(--ease-out),box-shadow .16s var(--ease-out),transform .16s var(--ease-out)}
.btn:hover{background-color:color-mix(in oklab,var(--primary) 88%,transparent)}
.btn:active{transform:scale(.98)}
.btn:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-50);border-radius:var(--radius-md)}
.btn svg{width:1rem;height:1rem;flex-shrink:0;pointer-events:none}
.btn .arrow{transition:transform .2s var(--ease-out)}
.btn:hover .arrow{transform:translateX(2px)}
.btn-sm{--h:2rem;padding:0 .75rem}
.btn-lg{--h:2.75rem;padding:0 1.25rem;border-radius:var(--radius-lg);font-size:.9375rem}
.btn-lg:focus-visible{border-radius:var(--radius-lg)}
.btn-outline{background:var(--background);color:var(--foreground);border-color:var(--border);box-shadow:var(--shadow-xs)}
.btn-outline:hover{background:var(--muted)}
.dark .btn-outline{background:var(--input-30);border-color:var(--input)}
.dark .btn-outline:hover{background:var(--input-50)}
.btn-ghost{background:transparent;color:var(--foreground)}
.btn-ghost:hover{background:var(--muted)}
.dark .btn-ghost:hover{background:var(--muted-50)}
.btn-icon{width:var(--h);padding:0}
.btn-block{width:100%}

.card{border-radius:var(--radius-xl);background:var(--card);color:var(--card-foreground);box-shadow:var(--shadow-ring)}
.lift{transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}
.lift:hover{transform:translateY(-2px);box-shadow:0 0 0 1px color-mix(in oklab,var(--foreground) 16%,transparent),var(--shadow-md)}

.tile{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:var(--radius-lg);background:var(--primary);color:var(--primary-foreground)}
.tile svg{width:1.125rem;height:1.125rem}
.tile-soft{background:var(--primary-10);color:var(--foreground)}
.tile-sm{width:2rem;height:2rem;border-radius:var(--radius-md)}
.tile-sm svg{width:1rem;height:1rem}

.badge{display:inline-flex;align-items:center;gap:.3rem;height:1.375rem;padding:0 .5rem;border-radius:9999px;background:var(--secondary);color:var(--secondary-foreground);font-size:.75rem;font-weight:500;line-height:1;white-space:nowrap}
.badge svg{width:.75rem;height:.75rem}
.badge-outline{background:transparent;box-shadow:inset 0 0 0 1px var(--border);color:var(--muted-foreground)}

.live-dot{position:relative;display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--success);flex-shrink:0}
.live-dot::after{content:'';position:absolute;inset:0;border-radius:inherit;background:inherit;animation:ping 2s var(--ease-out) infinite}

/* Brand marks (monochrome, currentColor) */
.mark{display:block;width:1.25rem;height:1.25rem;flex-shrink:0}
.mark-yape{display:block;width:1.0625rem;height:1.3125rem;flex-shrink:0;background:currentColor;-webkit-mask:url(/assets/icons/logo-yape_white.png) center/contain no-repeat;mask:url(/assets/icons/logo-yape_white.png) center/contain no-repeat}
.brand-img{display:block;width:1.75rem;height:1.75rem;object-fit:contain}
.dark .brand-img{filter:invert(1)}

/* Fixed-dark surfaces (infra map, featured plan, CTA band, footer): dark in both themes */
.fixed-dark{
  color-scheme:dark;
  --background:oklch(.13 0 0);
  --foreground:oklch(.985 0 0);
  --card:oklch(.18 0 0);
  --card-foreground:oklch(.985 0 0);
  --popover:oklch(.205 0 0);
  --primary:oklch(.985 0 0);
  --primary-foreground:oklch(.145 0 0);
  --secondary:oklch(.269 0 0);
  --secondary-foreground:oklch(.985 0 0);
  --muted:oklch(.269 0 0);
  --muted-foreground:oklch(.72 0 0);
  --accent:oklch(.269 0 0);
  --border:oklch(1 0 0 / 10%);
  --input:oklch(1 0 0 / 15%);
  --ring:oklch(.556 0 0);
  --success:oklch(.792 .209 151.711);
  --ring-50:color-mix(in oklab,var(--ring) 50%,transparent);
  --fg-10:color-mix(in oklab,var(--foreground) 10%,transparent);
  --primary-10:color-mix(in oklab,var(--primary) 10%,transparent);
  --muted-50:color-mix(in oklab,var(--muted) 50%,transparent);
  --success-10:color-mix(in oklab,var(--success) 10%,transparent);
  --focus:color-mix(in oklab,var(--foreground) 72%,transparent);
  --dot:color-mix(in oklab,var(--foreground) 13%,transparent);
  --surface-muted:color-mix(in oklab,var(--card) 55%,var(--background));
  --shadow-ring:0 0 0 1px var(--fg-10),var(--shadow-xs);
  background:var(--background);
  color:var(--foreground);
}
.fixed-dark .brand-img{filter:none}
.fixed-dark .btn-outline{background:oklch(1 0 0 / 4%);border-color:oklch(1 0 0 / 14%);box-shadow:none}
.fixed-dark .btn-outline:hover{background:oklch(1 0 0 / 9%)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;isolation:isolate;border-bottom:1px solid transparent;transition:border-color .2s var(--ease-out)}
.site-header::before{content:'';position:absolute;inset:0;z-index:-1;background:color-mix(in oklab,var(--background) 88%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px)}
.site-header.is-scrolled,.site-header[data-menu=open]{border-bottom-color:var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:var(--header-h)}
/* Logo lockup: glyph = 2x the wordmark cap height (24px for 17px/600), 8px gap, optical nudge */
.brand{display:inline-flex;align-items:center;gap:8px;font-size:17px;font-weight:600;letter-spacing:-.02em;line-height:1;border-radius:var(--radius-md)}
.brand .brand-img{position:relative;top:-.5px;width:24px;height:24px}
.nav{display:none;align-items:center;gap:.125rem}
.nav-link{padding:.4375rem .75rem;border-radius:var(--radius-md);color:var(--muted-foreground);font-size:.875rem;font-weight:500;transition:color .15s var(--ease-out),background-color .15s var(--ease-out)}
.nav-link:hover{color:var(--foreground);background:var(--muted-50)}
.nav-link.is-active{color:var(--foreground)}
.header-actions{display:flex;align-items:center;gap:.375rem}
.header-login{display:none}
.header-cta{display:none}
.theme-toggle svg{transition:transform .3s var(--ease-out),opacity .2s var(--ease-out)}
.theme-toggle .i-sun{position:absolute;transform:scale(0) rotate(-90deg);opacity:0}
.dark .theme-toggle .i-moon{transform:scale(0) rotate(90deg);opacity:0}
.dark .theme-toggle .i-sun{transform:none;opacity:1}
.menu-toggle .i-close{position:absolute;transform:scale(.6);opacity:0}
.menu-toggle svg{transition:transform .2s var(--ease-out),opacity .15s var(--ease-out)}
.site-header[data-menu=open] .menu-toggle .i-menu{transform:scale(.6);opacity:0}
.site-header[data-menu=open] .menu-toggle .i-close{transform:none;opacity:1}
.mobile-menu{position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - var(--header-h));max-height:calc(100svh - var(--header-h));overflow-y:auto;padding:.5rem var(--gutter) 1.25rem;border-bottom:1px solid var(--border);background:var(--background);box-shadow:var(--shadow-lg);visibility:hidden;opacity:0;transform:translateY(-.5rem);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out),visibility 0s linear .2s}
.site-header[data-menu=open] .mobile-menu{visibility:visible;opacity:1;transform:none;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out),visibility 0s}
.m-link{display:flex;align-items:center;justify-content:space-between;padding:.875rem .25rem;border-bottom:1px solid var(--border);font-size:1rem;font-weight:500}
.m-link svg{width:1rem;height:1rem;color:var(--muted-foreground);transition:transform .2s var(--ease-out)}
.m-link:hover svg{transform:translateX(2px)}
.m-actions{display:grid;gap:.5rem;margin-top:1.25rem}
@media (min-width:420px){.header-login{display:inline-flex}}
@media (min-width:640px){.header-cta{display:inline-flex}}
@media (min-width:1024px){
  .nav{display:flex}
  .menu-toggle,.mobile-menu{display:none}
}

/* Hero */
.hero{position:relative;overflow:hidden;overflow:clip;padding-top:clamp(3.5rem,2rem + 5vw,6.5rem)}
.hero-bg{position:absolute;top:0;left:0;right:0;height:40rem;z-index:-1;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 62% 78% at 50% 0%,#000 25%,transparent 72%);mask-image:radial-gradient(ellipse 62% 78% at 50% 0%,#000 25%,transparent 72%)}
.hero-grid{position:absolute;top:-1px;left:50%;width:1513px;height:100%;margin-left:-756px;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:56px 56px}
.hero-grid i{position:absolute;width:55px;height:55px;background:var(--grid-cell);opacity:0;animation:cell 9s var(--ease) infinite;animation-delay:var(--d,0s)}
.hero .hero-bg{height:46rem;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 0%,#000 25%,transparent 72%);mask-image:radial-gradient(ellipse 70% 80% at 50% 0%,#000 25%,transparent 72%)}
.hero .hero-grid{width:2017px;margin-left:-1008px}
.hero-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(3rem,2rem + 3.5vw,5rem);align-items:center}
.hero-inner{position:relative;max-width:50rem;margin-inline:auto;text-align:center}
.pill{display:inline-flex;align-items:center;gap:.5rem;min-height:2rem;padding:.25rem .875rem .25rem .75rem;border-radius:9999px;background:var(--background);box-shadow:inset 0 0 0 1px var(--border),var(--shadow-xs);color:var(--muted-foreground);font-size:.8125rem;font-weight:500;line-height:1.3}
.hero-title{margin-top:1.5rem;font-size:clamp(2.25rem,1rem + 5vw,4.5rem);font-weight:600;letter-spacing:-.045em;line-height:1.04;text-wrap:balance}
.hero-title .soft{display:block;color:var(--muted-foreground)}
.hero-lead{max-width:40rem;margin:1.5rem auto 0;color:var(--muted-foreground);font-size:clamp(1rem,.94rem + .35vw,1.1875rem);line-height:1.65;text-wrap:pretty}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;margin-top:2.25rem}
/* Hero stats */
@media (max-width:479.98px){
  .hero-actions{flex-direction:column;align-items:stretch;max-width:22rem;margin-inline:auto}
}

@media (min-width:1100px){
  .hero-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
  .hero-inner{max-width:none;margin:0;text-align:left}
  .hero-title{font-size:clamp(2.75rem,.9rem + 2.6vw,4rem)}
  .hero-lead{max-width:35rem;margin-inline:0}
  .hero-actions{justify-content:flex-start}
}
@media (min-width:1280px){
  .hero-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
}
@media (min-width:1600px){.hero-layout{grid-template-columns:minmax(0,48rem) minmax(0,1fr)}.hero-title{font-size:4.25rem}}

.preview{position:relative;width:100%;max-width:64rem;margin-inline:auto}
.preview::before{content:'';position:absolute;left:6%;right:6%;top:-7rem;height:18rem;z-index:-1;background:radial-gradient(closest-side,color-mix(in oklab,var(--foreground) 10%,transparent),color-mix(in oklab,var(--foreground) 4%,transparent) 55%,transparent);pointer-events:none}
.float-card{position:absolute;z-index:2;display:none;width:17.5rem;padding:.75rem .875rem;border-radius:var(--radius-xl);background:color-mix(in oklab,var(--popover) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-float);font-size:.8125rem;line-height:1.4;text-align:left}
.float-toast{left:-.75rem;bottom:6rem;animation:float-in .8s var(--ease-out) 1.1s backwards,float 7s ease-in-out 2s infinite}
.float-tg{right:-.75rem;top:-1.75rem;animation:float-in .8s var(--ease-out) 1.6s backwards,float 7s ease-in-out 3.5s infinite}
.float-pay{right:1.5rem;bottom:.5rem;width:15rem;animation:float-in .8s var(--ease-out) 2.1s backwards,float 7s ease-in-out 5s infinite}
.float-row{display:flex;align-items:flex-start;gap:.625rem}
.float-row b{display:block;font-size:.8125rem;font-weight:600}
.float-row small{display:block;color:var(--muted-foreground);font-size:.75rem}
.float-check{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--success-10);color:var(--success);flex-shrink:0}
.float-check svg{width:1rem;height:1rem}
.float-app{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem;color:var(--muted-foreground);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em}
.float-app svg{width:.75rem;height:.75rem}
.float-app time{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:400}
.float-tg .brand-img{width:1.75rem;height:1.75rem;border-radius:50%}
.fp-ico{width:2rem;height:2rem;border-radius:8px;flex-shrink:0}
.float-pay .float-row{align-items:center}
.float-pay .fp-amount{margin-top:.125rem;font-family:var(--font-mono);font-size:1rem;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.fp-foot{display:flex;align-items:center;gap:.4375rem;margin-top:.625rem;padding-top:.5rem;border-top:1px solid var(--border);color:var(--muted-foreground);font-size:.75rem}
.fp-dot{position:relative;width:.4375rem;height:.4375rem;border-radius:50%;background:var(--muted-foreground);flex-shrink:0}
.fp-dot::after{content:'';position:absolute;inset:0;border-radius:inherit;background:inherit;animation:ping 2s var(--ease-out) infinite}
@media (min-width:720px){.float-toast,.float-tg{display:block}}
@media (min-width:1280px){.float-pay{display:block}}
@media (min-width:1100px){
  .float-tg{right:-1.25rem;top:-2rem}
  .float-toast{left:-2.75rem;top:44%;bottom:auto}
  .float-pay{right:-1.25rem;bottom:1.25rem}
  .hero .mock{max-height:32rem}
}

.logos{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-top:clamp(3.5rem,2rem + 4vw,5.5rem);padding-block:clamp(2rem,1.5rem + 1.5vw,2.75rem);border-top:1px solid var(--border);text-align:center}
.logos-title{color:var(--muted-foreground);font-size:.875rem}
.logos-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.25rem 2.75rem;color:color-mix(in oklab,var(--foreground) 62%,transparent)}
@media (min-width:1024px){.logos{flex-direction:row;justify-content:space-between;text-align:left}.logos-list{gap:1.25rem clamp(2.5rem,1rem + 3vw,4.5rem)}}
.logos-list li{display:inline-flex;align-items:center;gap:.625rem;font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;transition:color .2s var(--ease-out)}
.logos-list li:hover{color:var(--foreground)}
.logos-list .mark{width:1.5rem;height:1.5rem}
.logos-list .mark-yape{width:1.25rem;height:1.5625rem}
.logos-list small{font-size:.75rem;font-weight:500;color:var(--muted-foreground);letter-spacing:0}

/* Dashboard mock */
.frame{position:relative;container:frame/inline-size;overflow:hidden;border-radius:var(--radius-2xl);background:var(--background);box-shadow:var(--shadow-frame);text-align:left}
.frame-bar{display:flex;align-items:center;gap:.75rem;height:2.5rem;padding:0 1rem;border-bottom:1px solid var(--border);background:var(--surface-muted)}
.frame-dots{display:flex;gap:.375rem;flex:1}
.frame-dots i{width:.625rem;height:.625rem;border-radius:50%;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--foreground) 18%,transparent)}
.frame-url{display:inline-flex;align-items:center;gap:.375rem;height:1.5rem;padding:0 .75rem;border-radius:var(--radius-md);background:var(--background);box-shadow:inset 0 0 0 1px var(--border);color:var(--muted-foreground);font-family:var(--font-mono);font-size:.6875rem;white-space:nowrap}
.frame-url svg{width:.6875rem;height:.6875rem}
.frame-spacer{flex:1}

.mock{display:flex;font-size:12px;line-height:1.45;color:var(--foreground)}
/* compact hero: the mock is cropped and fades out instead of showing the whole table */
main section[tabindex="-1"]:focus{outline:0}
.mock{max-height:34rem;overflow:hidden}
.preview::after{content:'';position:absolute;left:-2rem;right:-2rem;bottom:-1px;height:8rem;z-index:1;background:linear-gradient(180deg,transparent,var(--background) 92%);pointer-events:none}
@media (max-width:679.98px){.mock{max-height:30rem}.preview::after{height:6rem}}
.mock svg{width:1rem;height:1rem}
.mock-side{display:flex;flex-direction:column;gap:1rem;flex:0 0 13rem;padding:.75rem .625rem;border-right:1px solid var(--border);background:var(--sidebar)}
.mock-brand{display:flex;align-items:center;gap:.5rem;padding:.25rem .375rem}
.mock-brand b{display:block;font-size:13px;font-weight:600;line-height:1.2}
.mock-brand small{display:block;color:var(--muted-foreground);font-size:11px;font-weight:300}
.mock-group{display:flex;flex-direction:column;gap:.125rem}
.mock-label{padding:0 .5rem .25rem;color:color-mix(in oklab,var(--foreground) 50%,transparent);font-size:10.5px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}
.mock-link{display:flex;align-items:center;gap:.5rem;height:1.875rem;padding:0 .5rem;border-radius:var(--radius-md);color:color-mix(in oklab,var(--foreground) 82%,transparent)}
.mock-link svg{width:.9375rem;height:.9375rem}
.mock-link.is-active{background:var(--primary-10);color:var(--foreground);font-weight:500}
.mock-link em{margin-left:auto;min-width:1.125rem;height:1.125rem;padding:0 .3rem;border-radius:9999px;background:var(--primary-10);font-size:10.5px;font-style:normal;line-height:1.125rem;text-align:center}
.mock-user{display:flex;align-items:center;gap:.5rem;margin-top:auto;padding:.375rem}
.mock-user b{display:block;font-size:12px;font-weight:500;line-height:1.2}
.mock-user small{display:block;color:var(--muted-foreground);font-size:10.5px}
.m-avatar{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--muted);color:var(--muted-foreground);font-size:10px;font-weight:600;flex-shrink:0;box-shadow:inset 0 0 0 1px var(--border)}
.mock-main{flex:1;min-width:0}
.mock-header{display:flex;align-items:center;gap:.75rem;height:2.875rem;padding:0 1rem;border-bottom:1px solid var(--border);background:var(--card)}
.mock-header>svg{color:var(--muted-foreground)}
.mock-sep{width:1px;height:1rem;background:var(--border)}
.mock-crumb{font-size:13px;font-weight:500}
.mock-search{display:flex;align-items:center;gap:.4rem;width:13rem;height:1.875rem;margin-left:auto;padding:0 .5rem;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--border);color:var(--muted-foreground)}
.mock-search svg{width:.8125rem;height:.8125rem}
.mock-search kbd{margin-left:auto;padding:0 .3rem;border-radius:var(--radius-sm);background:var(--muted);font-size:10px;font-family:var(--font-sans)}
.mock-hicons{display:flex;align-items:center;gap:.875rem;color:var(--muted-foreground)}
.mock-hicons svg{width:.9375rem;height:.9375rem}
.mock-content{display:flex;flex-direction:column;gap:.875rem;padding:1.125rem 1.25rem 1.25rem}
.mock-title{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}
.mock-title b{display:block;font-size:17px;font-weight:600;letter-spacing:-.02em;line-height:1.25}
.mock-title small{display:block;color:var(--muted-foreground);font-size:12px}
.mock-pill{display:inline-flex;align-items:center;gap:.375rem;height:1.875rem;padding:0 .625rem;border-radius:var(--radius-md);background:var(--background);box-shadow:inset 0 0 0 1px var(--border),var(--shadow-xs);font-weight:500;white-space:nowrap}
.mock-pill svg{width:.8125rem;height:.8125rem;color:var(--muted-foreground)}
.mock-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.m-card{min-width:0;border-radius:var(--radius-xl);background:var(--card);box-shadow:var(--shadow-ring)}
.m-stat{display:flex;flex-direction:column;gap:.375rem;padding:.875rem}
.m-stat-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--muted-foreground);font-weight:500}
.m-stat-top span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-ico{display:grid;place-items:center;width:1.625rem;height:1.625rem;border-radius:var(--radius-sm);background:var(--primary-10);color:var(--foreground);flex-shrink:0}
.m-ico svg{width:.8125rem;height:.8125rem}
.m-value{font-size:19px;font-weight:600;letter-spacing:-.025em;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.m-foot{display:flex;align-items:center;gap:.375rem;color:var(--muted-foreground);font-size:11px;white-space:nowrap;overflow:hidden}
.m-delta{display:inline-flex;align-items:center;gap:.125rem;padding:.0625rem .3125rem;border-radius:var(--radius-sm);background:var(--success-10);color:var(--success);font-weight:500;font-variant-numeric:tabular-nums}
.m-delta svg{width:.6875rem;height:.6875rem}
.mock-charts{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:.75rem}
.m-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.875rem .875rem 0}
.m-card-title{font-size:13px;font-weight:500}
.m-card-desc{color:var(--muted-foreground);font-size:11.5px}
.m-tabs{display:flex;gap:.125rem;padding:.125rem;border-radius:var(--radius-md);background:var(--muted);font-size:11px;font-weight:500;color:var(--muted-foreground)}
.m-tabs span{padding:.125rem .5rem;border-radius:var(--radius-sm)}
.m-tabs .is-on{background:var(--background);color:var(--foreground);box-shadow:var(--shadow-xs)}
.dark .m-tabs .is-on{background:var(--input-30)}
.m-chart{position:relative;height:8.75rem;margin:1rem .875rem 0}
.m-chart svg{width:100%;height:100%;overflow:visible;animation:wipe 1.6s var(--ease-out) .5s backwards}
.m-chart .grid line{stroke:var(--border);stroke-dasharray:3 4}
.m-chart .area{fill:url(#lp-area)}
.m-chart .stop-a{stop-color:var(--foreground);stop-opacity:.16}
.m-chart .stop-b{stop-color:var(--foreground);stop-opacity:0}
.m-chart .line{fill:none;stroke:var(--foreground);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.m-point{position:absolute;width:.625rem;height:.625rem;margin:-.3125rem 0 0 -.3125rem;border-radius:50%;background:var(--background);box-shadow:inset 0 0 0 2px var(--foreground);animation:fade-in .4s var(--ease-out) 1.9s backwards}
.m-point::after{content:'';position:absolute;inset:-4px;border-radius:50%;box-shadow:0 0 0 1px var(--foreground);opacity:0;animation:ping 2.4s var(--ease-out) 2.4s infinite}
.m-point-tip{position:absolute;right:0;margin-top:-2.25rem;padding:.1875rem .4375rem;border-radius:var(--radius-md);background:var(--primary);color:var(--primary-foreground);font-family:var(--font-mono);font-size:10.5px;font-weight:500;white-space:nowrap;animation:fade-in .4s var(--ease-out) 2s backwards}
.m-axis{display:flex;justify-content:space-between;padding:.5rem .875rem .875rem;color:var(--muted-foreground);font-size:10.5px}
.m-bars{display:flex;flex-direction:column;gap:.8125rem;padding:1rem .875rem .875rem}
.m-bar-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.m-bar-head span:last-child{color:var(--muted-foreground);font-family:var(--font-mono);font-size:11px}
.m-track{height:.375rem;margin-top:.375rem;overflow:hidden;border-radius:9999px;background:var(--muted)}
.m-fill{display:block;width:var(--w);height:100%;border-radius:inherit;background:var(--c,var(--primary));transform-origin:0 50%;animation:grow-x 1.1s var(--ease-out) backwards;animation-delay:calc(.7s + var(--i,0)*.1s)}
.m-total{display:flex;justify-content:space-between;margin-top:.125rem;padding-top:.75rem;border-top:1px solid var(--border);color:var(--muted-foreground);font-size:11px}
.m-total b{color:var(--foreground);font-weight:500}
.m-table-head{display:flex;align-items:center;justify-content:space-between;padding:.875rem}
.m-link-btn{display:inline-flex;align-items:center;gap:.25rem;height:1.625rem;padding:0 .5rem;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--border);font-weight:500;font-size:11px}
.m-link-btn svg{width:.75rem;height:.75rem}
.m-table{width:100%;font-size:11.5px}
.m-table th{height:2rem;padding:0 .5rem;border-block:1px solid var(--border);color:var(--muted-foreground);font-weight:500;text-align:left;white-space:nowrap}
.m-table td{height:2.625rem;padding:0 .5rem;border-bottom:1px solid var(--border);white-space:nowrap}
.m-table tr:last-child td{border-bottom:0}
.m-table th:first-child,.m-table td:first-child{padding-left:.875rem}
.m-table th:last-child,.m-table td:last-child{padding-right:.875rem;text-align:right}
.m-table .num{text-align:right;font-weight:500;font-variant-numeric:tabular-nums}
.m-table .id{font-family:var(--font-mono);font-weight:500}
.m-table .sub{color:var(--muted-foreground)}
.m-table tbody tr:first-child td{animation:row-flash 2.2s var(--ease-out) 1.4s backwards}
.m-cust{display:flex;align-items:center;gap:.5rem}
.m-cust .m-avatar{width:1.5rem;height:1.5rem;font-size:9.5px}
.st{display:inline-flex;align-items:center;gap:.3125rem;padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:11px;font-weight:500;line-height:1rem}
.st::before{content:'';width:.375rem;height:.375rem;border-radius:50%;background:currentColor}
.st-ok{background:var(--success-10);color:var(--success)}
.st-wait{background:var(--warning-10);color:var(--warning)}
.st-exp{background:var(--muted);color:var(--muted-foreground)}
@container frame (max-width:860px){.mock-side{display:none}}
@container frame (max-width:680px){
  .mock-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mock-charts{grid-template-columns:minmax(0,1fr)}
  .mock-search{display:none}
  .mock-hicons{margin-left:auto}
  .m-hide{display:none}
}
@container frame (max-width:480px){
  .mock-content{padding:.875rem}
  .mock-pill,.m-methods,.m-table .m-hide-xs{display:none}
  .m-table tbody tr:nth-child(n+4){display:none}
  .frame-url{font-size:10px}
}

/* Kicker, Infrastructure (always dark), Steps, Pricing */
.kicker{display:flex;align-items:center;justify-content:center;gap:.875rem;margin-bottom:1.25rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.2em;line-height:1;text-transform:uppercase}
.kicker::before,.kicker::after{content:'';flex:0 0 auto;width:clamp(1.5rem,.75rem + 3vw,3.5rem);height:1px}
.kicker::before{background:linear-gradient(to left,color-mix(in oklab,var(--foreground) 30%,transparent),transparent)}
.kicker::after{background:linear-gradient(to right,color-mix(in oklab,var(--foreground) 30%,transparent),transparent)}
.kicker span{display:inline-flex;align-items:center;height:1.75rem;padding:0 .875rem;border-radius:9999px;background:var(--background);box-shadow:inset 0 0 0 1px var(--border);white-space:nowrap}
.section-muted .kicker span{background:var(--card)}
.check-tile{display:grid;place-items:center;flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.125rem;border-radius:var(--radius-sm);background:var(--primary);color:var(--primary-foreground)}
.check-tile svg{width:.75rem;height:.75rem}

.infra{--i-fg:oklch(.985 0 0);--i-muted:oklch(.74 0 0);--i-soft:oklch(.64 0 0);--i-line:oklch(1 0 0 / 10%);position:relative;isolation:isolate;overflow:hidden;overflow:clip;padding-block:clamp(5rem,3.5rem + 5vw,8.5rem);border-block:1px solid oklch(1 0 0 / 8%);background:oklch(.13 0 0);color:var(--i-fg);text-align:center;color-scheme:dark}
.infra::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 55% 45% at 50% 0%,oklch(1 0 0 / 8%),transparent 70%),radial-gradient(ellipse 35% 35% at 27% 72%,oklch(1 0 0 / 5%),transparent 70%);pointer-events:none}
.infra-map{position:absolute;inset:0;z-index:-1;pointer-events:none;color:oklch(1 0 0 / 19%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 80%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 80%,transparent)}
.infra-map svg{position:absolute;left:50%;top:50%;width:max(112%,60rem);height:auto;transform:translate(-50%,-62%)}
@media (max-width:767.98px){.infra-map svg{top:2rem;width:58rem;transform:translateX(-26.6%)}.world text{display:none}}
.world .arc{fill:none;stroke:oklch(1 0 0 / 30%);stroke-width:.7;stroke-linecap:round;stroke-dasharray:1.5 3;animation:dash 26s linear infinite}
.world .glow{fill:oklch(1 0 0 / 10%)}
.world .halo{fill:oklch(1 0 0 / 45%);transform-box:fill-box;transform-origin:center;animation:halo 3.2s var(--ease-out) infinite;animation-delay:var(--d,0s)}
.world .core{fill:#fff}
.world text{fill:oklch(1 0 0 / 46%);font-family:var(--font-mono);font-size:7px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.infra-inner{position:relative}
.infra .kicker{color:var(--i-muted)}
.infra .kicker::before{background:linear-gradient(to left,oklch(1 0 0 / 38%),transparent)}
.infra .kicker::after{background:linear-gradient(to right,oklch(1 0 0 / 38%),transparent)}
.infra .kicker span{background:oklch(1 0 0 / 4%);box-shadow:inset 0 0 0 1px var(--i-line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.infra-title{max-width:56rem;margin-inline:auto;font-size:clamp(2.25rem,1.1rem + 4.6vw,4.75rem);font-weight:700;letter-spacing:-.05em;line-height:1.02;text-wrap:balance}
.infra-title em{padding-right:.06em;color:var(--i-muted);font-style:italic;font-weight:500;letter-spacing:-.04em}
.infra-lead{max-width:38rem;margin:1.5rem auto 0;color:var(--i-muted);font-size:clamp(1rem,.95rem + .3vw,1.125rem);line-height:1.6;text-wrap:balance}
.infra-cards{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr);max-width:84rem;margin:clamp(3rem,2rem + 3.5vw,5rem) auto 0;text-align:left}
@media (min-width:768px){.infra-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.glass{position:relative;padding:1.5rem;border-radius:16px;background:linear-gradient(180deg,oklch(1 0 0 / 7%),oklch(1 0 0 / 2%));box-shadow:inset 0 0 0 1px var(--i-line),inset 0 1px 0 oklch(1 0 0 / 6%),0 20px 40px -24px rgb(0 0 0 / .6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out)}
.glass:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px oklch(1 0 0 / 18%),inset 0 1px 0 oklch(1 0 0 / 8%),0 24px 48px -24px rgb(0 0 0 / .7)}
.glass-tile{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:10px;background:oklch(1 0 0 / 8%);color:var(--i-fg)}
.glass-tile svg{width:1.125rem;height:1.125rem}
.glass-label{display:block;margin-top:1.25rem;color:var(--i-soft);font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.glass h3{margin-top:.5rem;color:var(--i-fg);font-size:1.125rem;font-weight:600;letter-spacing:-.02em}
.glass p{margin-top:.25rem;color:var(--i-muted);font-size:.9375rem;line-height:1.55}

.flow-steps{display:grid;grid-template-columns:minmax(0,1fr);max-width:84rem;margin-inline:auto}
.fstep{position:relative;display:flex;flex-direction:column;gap:.375rem;padding:1.5rem}
.fstep+.fstep{border-top:1px solid var(--border)}
.fstep-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.625rem}
.fstep-num{color:var(--muted-foreground);font-family:var(--font-mono);font-size:.75rem;font-weight:500}
.fstep h3{font-size:1rem;font-weight:600;letter-spacing:-.015em}
.fstep p{color:var(--muted-foreground);font-size:.9rem;line-height:1.55}
.fstep-arrow{display:none}
@media (min-width:600px){
  .flow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fstep+.fstep{border-top:0}
  .fstep:nth-child(even){border-left:1px solid var(--border)}
  .fstep:nth-child(n+3){border-top:1px solid var(--border)}
}
@media (min-width:1024px){
  .flow-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .fstep:nth-child(n+3){border-top:0}
  .fstep+.fstep{border-left:1px solid var(--border)}
  .fstep-arrow{position:absolute;top:6.5rem;right:0;z-index:1;display:grid;place-items:center;width:1.5rem;height:1.5rem;margin:-.75rem -.75rem 0 0;border-radius:50%;background:var(--card);box-shadow:0 0 0 1px var(--border);color:var(--muted-foreground)}
  .fstep-arrow svg{width:.75rem;height:.75rem}
}

/* Step illustrations */
.fstep-art{display:grid;place-items:center;height:10rem;margin-bottom:1.25rem;padding:.75rem;overflow:hidden;border-radius:var(--radius-lg);background-color:var(--surface-muted);background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:12px 12px;box-shadow:inset 0 0 0 1px var(--border);font-size:11px;line-height:1.35;text-align:left}
.fstep-art img{flex-shrink:0}
.sa-win{width:min(100%,14rem);overflow:hidden;border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-float)}
.sa-bar{display:flex;align-items:center;gap:.25rem;height:1.5rem;padding:0 .5rem;border-bottom:1px solid var(--border);background:var(--surface-muted);color:var(--muted-foreground);font-size:10px;font-weight:500;white-space:nowrap}
.sa-bar i{width:.375rem;height:.375rem;border-radius:50%;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--foreground) 22%,transparent);flex-shrink:0}
.sa-bar span{margin-left:.375rem;overflow:hidden;text-overflow:ellipsis}
.sa-body{display:grid;gap:.375rem;padding:.625rem}
.sa-label{margin-top:.125rem;color:var(--muted-foreground);font-size:10px;font-weight:500}
.sa-input{display:flex;align-items:center;justify-content:space-between;gap:.375rem;height:1.75rem;padding:0 .3125rem 0 .5rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--input);font-size:10.5px;white-space:nowrap}
.sa-input b{font-weight:600}
.sa-input>span:first-child{overflow:hidden;text-overflow:ellipsis;letter-spacing:.04em}
.sa-switch{position:relative;width:1.625rem;height:.9375rem;margin-right:.125rem;border-radius:9999px;background:var(--primary);flex-shrink:0}
.sa-switch::after{content:'';position:absolute;top:2px;right:2px;width:.6875rem;height:.6875rem;border-radius:50%;background:var(--primary-foreground)}
.sa-paste{display:inline-flex;align-items:center;gap:.1875rem;height:1.125rem;padding:0 .3125rem;border-radius:var(--radius-sm);background:var(--primary);color:var(--primary-foreground);font-family:var(--font-sans);font-size:9.5px;font-weight:500;flex-shrink:0}
.sa-paste svg{width:.625rem;height:.625rem;stroke-width:3}
.sa-list{display:grid;gap:.3125rem;width:min(100%,13.5rem)}
.sa-list span{display:flex;align-items:center;gap:.5rem;height:1.75rem;padding:0 .5rem;border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-ring);font-size:11px;font-weight:500}
.sa-list img{width:1rem;height:1rem;border-radius:4px}
.sa-list i{width:.75rem;height:.75rem;margin-left:auto;border-radius:50%;box-shadow:inset 0 0 0 1px var(--input);flex-shrink:0}
.sa-list .is-on{box-shadow:0 0 0 1.5px var(--foreground),var(--shadow-sm)}
.sa-list .is-on i{box-shadow:inset 0 0 0 3.5px var(--foreground)}
.sa-done{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center}
.sa-check{position:relative;display:grid;place-items:center;width:2.75rem;height:2.75rem;margin-bottom:.625rem;border-radius:50%;background:var(--success-10);color:var(--success)}
.sa-check svg{width:1.25rem;height:1.25rem;stroke-width:2.75}
.sa-check::before,.sa-check::after{content:'';position:absolute;inset:-.4375rem;border-radius:50%;box-shadow:0 0 0 1px color-mix(in oklab,var(--success) 28%,transparent)}
.sa-check::after{inset:-.9375rem;opacity:.45}
.sa-done b{font-size:.8125rem;font-weight:600}
.sa-done small{color:var(--muted-foreground);font-size:10.5px}
.sa-tg{width:min(100%,14.5rem);padding:.625rem .75rem .75rem;border-radius:var(--radius-lg);background:color-mix(in oklab,var(--popover) 94%,transparent);box-shadow:var(--shadow-float)}
.sa-tg-app{display:flex;align-items:center;gap:.3125rem;margin-bottom:.4375rem;color:var(--muted-foreground);font-size:9.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.sa-tg-app svg{width:.6875rem;height:.6875rem}
.sa-tg-app time{margin-left:auto;letter-spacing:0;text-transform:none;font-weight:400}
.sa-tg-row{display:flex;align-items:flex-start;gap:.5rem}
.sa-tg-row .brand-img{width:1.375rem;height:1.375rem}
.sa-tg-row p{color:var(--muted-foreground);font-size:10.5px;line-height:1.45}
.sa-tg-row p b{display:block;color:var(--foreground);font-size:11px;font-weight:600}
.steps-note{display:flex;flex-wrap:wrap;justify-content:center;gap:.625rem 1.75rem;margin-top:1.75rem;color:var(--muted-foreground);font-size:.875rem}
.steps-note li{display:inline-flex;align-items:center;gap:.4375rem}
.steps-note svg{width:.9375rem;height:.9375rem;color:var(--foreground)}

.price-card{display:grid;grid-template-columns:minmax(0,1fr);max-width:58rem;margin-inline:auto;overflow:hidden;border-radius:calc(var(--radius)*2.2);background:radial-gradient(ellipse 60% 70% at 0% 0%,oklch(1 0 0 / 7%),transparent 70%),linear-gradient(180deg,oklch(.2 0 0),oklch(.155 0 0));box-shadow:0 0 0 1px oklch(1 0 0 / 10%),inset 0 1px 0 oklch(1 0 0 / 7%),0 40px 80px -32px rgb(0 0 0 / .45)}
@media (min-width:768px){.price-card{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}
.price-main{position:relative;isolation:isolate;display:flex;flex-direction:column;padding:clamp(1.75rem,1.25rem + 2vw,2.75rem)}
.price-main::before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:16px 16px;-webkit-mask-image:radial-gradient(ellipse 85% 70% at 0% 0%,#000,transparent 70%);mask-image:radial-gradient(ellipse 85% 70% at 0% 0%,#000,transparent 70%);pointer-events:none}
.price-badge{align-self:flex-start;height:1.75rem;padding:0 .75rem;color:var(--foreground)}
.price{display:flex;align-items:flex-start;margin-top:1.75rem;line-height:1}
.price-cur{margin:.5rem .125rem 0 0;color:var(--muted-foreground);font-size:clamp(1.5rem,1.25rem + 1vw,2rem);font-weight:600}
.price-amount{font-size:clamp(4rem,3rem + 4vw,5.75rem);font-weight:700;letter-spacing:-.06em;line-height:.9;font-variant-numeric:tabular-nums}
.price-unit{align-self:flex-end;margin-left:.625rem;padding-bottom:.375rem;color:var(--muted-foreground);font-size:1rem;font-weight:500}
.price-note{max-width:23rem;margin-top:1.25rem;color:var(--muted-foreground);font-size:.9375rem;line-height:1.6}
.price-actions{display:grid;gap:.625rem;margin-top:auto;padding-top:2rem}
.price-foot{display:flex;align-items:center;justify-content:center;gap:.4375rem;margin-top:1rem;color:var(--muted-foreground);font-size:.8125rem;text-align:center}
.price-foot svg{width:.875rem;height:.875rem}
.price-side{padding:clamp(1.75rem,1.25rem + 2vw,2.75rem);border-top:1px solid var(--border);background:oklch(1 0 0 / 2.5%)}
@media (min-width:768px){.price-side{border-top:0;border-left:1px solid var(--border)}}
.price-side-title{font-size:.875rem;font-weight:600}
.price-list{margin-top:.75rem}
.price-list li{display:flex;align-items:flex-start;gap:.75rem;padding:.8125rem 0;border-bottom:1px dashed var(--border);font-size:.9375rem;font-weight:500;line-height:1.45}
.price-list li:last-child{border-bottom:0;padding-bottom:0}
.price-list small{display:block;margin-top:.125rem;color:var(--muted-foreground);font-size:.8125rem;font-weight:400}
.price-grid{display:grid;gap:1.25rem;max-width:58rem;margin-inline:auto}
.price-grid .price-card{width:100%;max-width:none;margin:0}
@media (min-width:1200px){.price-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);max-width:none}}

/* Savings calculator */
.calc{display:flex;flex-direction:column;gap:1.5rem;padding:clamp(1.5rem,1.25rem + 1.2vw,2.25rem);border-radius:calc(var(--radius)*2.2)}
.calc-head{display:flex;align-items:flex-start;gap:.875rem}
.calc-head h3{font-size:1.125rem;font-weight:600;letter-spacing:-.02em;line-height:1.3}
.calc-head p{color:var(--muted-foreground);font-size:.875rem}
.calc-label{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.875rem}
.calc-label label{color:var(--muted-foreground);font-size:.875rem;font-weight:500}
.calc-label output{font-size:1.625rem;font-weight:600;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}
.calc-range{display:block;width:100%;height:1.375rem;margin:0;background:transparent;cursor:pointer;-webkit-appearance:none;appearance:none}
.calc-range:focus{outline:none}
.calc-range::-webkit-slider-runnable-track{height:.375rem;border-radius:9999px;background:linear-gradient(to right,var(--primary) var(--p,13%),var(--muted) var(--p,13%))}
.calc-range::-webkit-slider-thumb{width:1.375rem;height:1.375rem;margin-top:-.5rem;border:3px solid var(--background);border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px var(--fg-10),var(--shadow-sm);-webkit-appearance:none;appearance:none;transition:box-shadow .15s var(--ease-out)}
.calc-range::-moz-range-track{height:.375rem;border-radius:9999px;background:var(--muted)}
.calc-range::-moz-range-progress{height:.375rem;border-radius:9999px;background:var(--primary)}
.calc-range::-moz-range-thumb{width:1rem;height:1rem;border:3px solid var(--background);border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px var(--fg-10),var(--shadow-sm)}
.calc-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 1px var(--fg-10),0 0 0 5px var(--ring-50)}
.calc-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 1px var(--fg-10),0 0 0 5px var(--ring-50)}
.calc-scale{display:flex;justify-content:space-between;margin-top:.5rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.6875rem}
html:not(.js) .calc-range,html:not(.js) .calc-scale{display:none}
.calc-bars{display:grid;gap:1rem}
.calc-bar-head{display:flex;justify-content:space-between;gap:1rem;font-size:.8125rem}
.calc-bar-head span{color:var(--muted-foreground)}
.calc-bar-head b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.calc-track{height:.625rem;margin-top:.4375rem;overflow:hidden;border-radius:9999px;background:var(--muted)}
.calc-fill{display:block;width:var(--w,100%);height:100%;border-radius:inherit;transition:width .35s var(--ease-out)}
.calc-fill.is-fee{background:repeating-linear-gradient(135deg,color-mix(in oklab,var(--foreground) 34%,transparent) 0 4px,color-mix(in oklab,var(--foreground) 20%,transparent) 4px 8px)}
.calc-fill.is-pa{background:var(--primary)}
.calc-result{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:auto;padding:1rem 1.125rem;border-radius:var(--radius-xl);background:var(--primary);color:var(--primary-foreground)}
.calc-result span{font-size:.875rem;opacity:.72}
.calc-result b{font-size:clamp(1.75rem,1.4rem + 1.2vw,2.375rem);font-weight:700;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.calc-note{margin-top:-.5rem;color:var(--muted-foreground);font-size:.8125rem;line-height:1.55}
.calc-note b{color:var(--foreground);font-weight:600}

/* Payment methods */
.methods{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.methods{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px){.methods{grid-template-columns:repeat(4,minmax(0,1fr))}}
.method{display:flex;flex-direction:column;padding:1.25rem}
.method-head{display:flex;align-items:center;gap:.75rem}
.method-ico{width:2.5rem;height:2.5rem;border-radius:10px;object-fit:contain;flex-shrink:0}
.method-name{min-width:0}
.method-name h3{font-size:1rem;font-weight:600;letter-spacing:-.015em;line-height:1.3}
.method-name span{display:block;color:var(--muted-foreground);font-size:.8125rem;line-height:1.4}
.method-demo{display:flex;flex-direction:column;justify-content:center;gap:.4375rem;min-height:10.5rem;margin-top:1.125rem;padding:.875rem;border-radius:var(--radius-lg);background-color:var(--surface-muted);background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:12px 12px;box-shadow:inset 0 0 0 1px var(--border);font-size:.75rem;line-height:1.35}
.md-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:1.875rem;padding:0 .625rem;border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-ring)}
.md-row span{color:var(--muted-foreground);white-space:nowrap}
.md-row b{min-width:0;overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.md-chip{display:inline-flex;align-items:center;gap:.3125rem;padding:.125rem .375rem;border-radius:var(--radius-sm);background:var(--primary);color:var(--primary-foreground);font-size:.6875rem}
.md-chip svg{width:.6875rem;height:.6875rem}
.md-status{display:flex;align-items:center;gap:.4375rem;margin-top:.1875rem;padding-left:.125rem;font-weight:500}
.md-status i{width:.4375rem;height:.4375rem;border-radius:50%;background:var(--muted-foreground);flex-shrink:0}
.md-status.is-ok i{background:var(--success);box-shadow:0 0 0 3px var(--success-10)}
.md-label{display:block;color:var(--muted-foreground);font-size:.625rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.md-big{display:block;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums}
.md-big small{color:var(--muted-foreground);font-size:.75rem;font-weight:500;letter-spacing:0}
.md-field{display:flex;align-items:center;justify-content:space-between;gap:.5rem;height:2rem;padding:0 .625rem;border-radius:var(--radius-md);background:var(--card);box-shadow:inset 0 0 0 1px var(--input),var(--shadow-xs);font-size:.71875rem}
.md-field span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.md-field svg{width:.8125rem;height:.8125rem;color:var(--muted-foreground)}
.md-nets{display:flex;gap:.375rem}
.md-nets span{padding:.1875rem .5rem;border-radius:9999px;box-shadow:inset 0 0 0 1px var(--border);color:var(--muted-foreground);font-family:var(--font-mono);font-size:.6875rem;font-weight:500}
.md-nets .is-on{background:var(--primary);color:var(--primary-foreground);box-shadow:none}
.md-checks{display:grid;gap:.3125rem;padding-left:.125rem}
.md-checks span{display:flex;align-items:center;gap:.4375rem;color:var(--muted-foreground)}
.md-checks svg{width:.875rem;height:.875rem;padding:.125rem;border-radius:50%;background:var(--primary);color:var(--primary-foreground);stroke-width:3.5}
.md-yape{display:flex;align-items:center;gap:.75rem;margin-bottom:.125rem}
.md-yape small{display:block;color:var(--muted-foreground);font-size:.6875rem}
.md-qr{display:block;width:4.25rem;height:4.25rem;padding:.3125rem;border-radius:var(--radius-md);background:#fff;flex-shrink:0}
.md-qr svg{width:100%;height:100%;color:#0a0a0a}
.method-desc{flex:1;margin-top:1rem;color:var(--muted-foreground);font-size:.875rem;line-height:1.55}
.method-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;padding-top:.875rem;border-top:1px dashed var(--border)}
.method-meta dt{color:var(--muted-foreground);font-size:.625rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.method-meta dd{margin-top:.125rem;font-size:.8125rem;font-weight:500;line-height:1.35}
.dark .ico-bep20,.fixed-dark .ico-bep20{filter:invert(1)}

/* Feature splits (checkout, panel) */
.split{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2.75rem,1.5rem + 3.5vw,5rem);align-items:center}
.split-text{width:100%;max-width:40rem;margin-inline:auto}
@media (min-width:1024px){
  .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .split-text{max-width:36rem;margin:0}
  .split.is-flip .split-media{order:-1}
  .split.is-flip .split-text{justify-self:center}
}
.stage{position:relative;isolation:isolate}
.stage::before{content:'';position:absolute;inset:-2.5rem;z-index:-1;background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:16px 16px;-webkit-mask-image:radial-gradient(closest-side,#000 35%,transparent);mask-image:radial-gradient(closest-side,#000 35%,transparent);pointer-events:none}
.perks{display:grid;gap:1.125rem;margin-top:2.25rem}
.perks li{display:flex;align-items:flex-start;gap:.875rem}
.perks b{display:block;font-size:.9375rem;font-weight:600;letter-spacing:-.01em;line-height:1.4}
.perks p{margin-top:.0625rem;color:var(--muted-foreground);font-size:.875rem;line-height:1.5}
@media (min-width:640px) and (max-width:1023.98px){.perks{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.5rem}}

/* Checkout demo */
.pay-frame{max-width:44rem;margin-inline:auto}
.pay{display:grid;gap:1rem;padding:clamp(1rem,.75rem + 1.2vw,1.5rem);font-size:.8125rem;line-height:1.45}
.pay-head{display:flex;align-items:center;gap:.75rem}
.pay-logo{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-lg);background:var(--primary);color:var(--primary-foreground);font-size:.8125rem;font-weight:700;letter-spacing:-.02em;flex-shrink:0}
.pay-store{min-width:0}
.pay-store b{display:block;font-size:.9375rem;font-weight:600;line-height:1.25}
.pay-store small{display:block;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.71875rem}
.pay-timer{display:flex;flex-direction:column;align-items:flex-end;gap:.375rem;margin-left:auto;flex-shrink:0}
.pay-timer-top{display:inline-flex;align-items:center;gap:.375rem;color:var(--muted-foreground);font-size:.75rem;white-space:nowrap}
.pay-timer-top svg{width:.8125rem;height:.8125rem}
.pay-time{color:var(--foreground);font-family:var(--font-mono);font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums}
.pay-timebar{display:block;width:100%;min-width:6rem;height:.1875rem;overflow:hidden;border-radius:9999px;background:var(--muted)}
.pay-timebar i{display:block;width:100%;height:100%;border-radius:inherit;background:var(--foreground);transform:scaleX(var(--t,.97));transform-origin:0 50%;transition:transform 1s linear}
.pay-total{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1rem;border-radius:var(--radius-lg);background:var(--surface-muted);box-shadow:inset 0 0 0 1px var(--border)}
.pay-total>span{color:var(--muted-foreground)}
.pay-total b{font-size:1.5rem;font-weight:600;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}
.pay-total b small{color:var(--muted-foreground);font-size:.8125rem;font-weight:500;letter-spacing:0}
.pay-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;padding:.25rem;border-radius:var(--radius-lg);background:var(--muted)}
.pay-tab{display:inline-flex;align-items:center;justify-content:center;gap:.4375rem;min-width:0;height:2.25rem;padding:0 .5rem;border-radius:var(--radius-md);color:var(--muted-foreground);font-size:.8125rem;font-weight:500;white-space:nowrap;transition:background-color .15s var(--ease-out),color .15s var(--ease-out),box-shadow .15s var(--ease-out)}
.pay-tab img{width:1.125rem;height:1.125rem;border-radius:4px;flex-shrink:0}
.pay-tab:hover{color:var(--foreground)}
.pay-tab[aria-selected=true]{background:var(--background);color:var(--foreground);box-shadow:var(--shadow-sm)}
.dark .pay-tab[aria-selected=true]{background:var(--card)}
.pay-tab:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-radius:var(--radius-md)}
.pay-panels{display:grid}
.pay-panel{grid-area:1/1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem 1.25rem}
.pay-panel:not(.is-on){visibility:hidden}
.js .pay-panel.is-on{animation:fade-in .25s var(--ease-out)}
.pay-qr{position:relative;width:9.5rem;height:9.5rem;padding:.5rem;border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-ring)}
.pay-qr svg{width:100%;height:100%;color:#0a0a0a}
.pay-qr img{position:absolute;left:50%;top:50%;width:2rem;height:2rem;margin:-1rem 0 0 -1rem;border-radius:7px;box-shadow:0 0 0 3px #fff}
.pay-info{display:grid;gap:.5rem;min-width:0}
.pay-kv{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:2.125rem;padding:0 .75rem;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--border)}
.pay-kv span{color:var(--muted-foreground);font-size:.75rem;white-space:nowrap}
.pay-kv b{min-width:0;overflow:hidden;font-family:var(--font-mono);font-size:.75rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.pay-chip{padding:.125rem .4375rem;border-radius:var(--radius-sm);background:var(--primary);color:var(--primary-foreground)}
.pay-hint{color:var(--muted-foreground);font-size:.75rem;line-height:1.5}
.pay-nets{display:flex;gap:.375rem}
.pay-nets span{padding:.25rem .625rem;border-radius:9999px;box-shadow:inset 0 0 0 1px var(--border);color:var(--muted-foreground);font-family:var(--font-mono);font-size:.6875rem;font-weight:500}
.pay-nets .is-on{background:var(--primary);color:var(--primary-foreground);box-shadow:none}
.pay-input{display:flex;align-items:center;height:2.125rem;padding:0 .75rem;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--input),var(--shadow-xs);color:var(--muted-foreground);font-size:.75rem;white-space:nowrap;overflow:hidden}
.pay-btn{display:flex;align-items:center;justify-content:center;height:2.125rem;border-radius:var(--radius-md);background:var(--primary);color:var(--primary-foreground);font-size:.78125rem;font-weight:500}
.pay-status{display:flex;align-items:center;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border);font-weight:500}
.pay-status small{margin-left:auto;color:var(--muted-foreground);font-size:.75rem;font-weight:400;text-align:right}
.pay-wait{position:relative;width:.5rem;height:.5rem;border-radius:50%;background:var(--muted-foreground);flex-shrink:0}
.pay-wait::after{content:'';position:absolute;inset:0;border-radius:inherit;background:inherit;animation:ping 2s var(--ease-out) infinite}
@media (max-width:519.98px){
  .pay-panel{grid-template-columns:minmax(0,1fr);justify-items:center}
  .pay-info{width:100%}
  .pay-qr{width:8.5rem;height:8.5rem}
  .pay-tab img{display:none}
  .pay-total b{font-size:1.25rem}
  .pay-status small{display:none}
}

/* Panel and Telegram */
.feature-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;margin-top:2.25rem}
@media (min-width:560px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.feature-grid li{padding:1rem 1.125rem 1.125rem;border-radius:var(--radius-xl);background:var(--card);box-shadow:var(--shadow-ring)}
.feature-grid b{display:block;margin-top:.875rem;font-size:.9375rem;font-weight:600;letter-spacing:-.01em;line-height:1.35}
.feature-grid p{margin-top:.125rem;color:var(--muted-foreground);font-size:.8125rem;line-height:1.5}
.tg-stage{display:flex;justify-content:center;padding-block:.5rem}
@media (min-width:1024px){.tg-stage{justify-content:flex-end;padding-right:clamp(0rem,-6rem + 8vw,4rem)}}
.tg{position:relative;width:100%;max-width:25rem;overflow:hidden;border-radius:1.75rem;background:var(--card);box-shadow:var(--shadow-frame);font-size:.8125rem;line-height:1.45}
.tg-head{display:flex;align-items:center;gap:.625rem;height:3.5rem;padding:0 1rem;border-bottom:1px solid var(--border);background:var(--surface-muted)}
.tg-head>svg{width:1.125rem;height:1.125rem;color:var(--muted-foreground)}
.tg-head .tg-more{margin-left:auto}
.tg-avatar{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--muted);flex-shrink:0}
.tg-avatar .brand-img{width:1.25rem;height:1.25rem}
.tg-head b{display:block;font-size:.875rem;font-weight:600;line-height:1.2}
.tg-head small{display:block;color:var(--muted-foreground);font-size:.75rem}
.tg-body{display:flex;flex-direction:column;align-items:flex-start;gap:.625rem;min-height:20rem;padding:1rem;background-color:var(--background);background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:14px 14px}
.tg-date{align-self:center;padding:.125rem .625rem;border-radius:9999px;background:var(--muted);color:var(--muted-foreground);font-size:.6875rem;font-weight:500}
.tg-msg{position:relative;max-width:88%;padding:.625rem 3.25rem .625rem .75rem;border-radius:1rem 1rem 1rem .375rem;background:var(--card);box-shadow:var(--shadow-ring)}
.tg-msg b{display:flex;align-items:center;gap:.4375rem;font-weight:600}
.tg-msg b i{width:.4375rem;height:.4375rem;border-radius:50%;background:var(--success);flex-shrink:0}
.tg-msg span{display:block;color:var(--muted-foreground)}
.tg-msg time{position:absolute;right:.75rem;bottom:.5rem;color:var(--muted-foreground);font-size:.6875rem}
.tg-input{display:flex;align-items:center;gap:.75rem;height:3.25rem;padding:0 1rem;border-top:1px solid var(--border);color:var(--muted-foreground)}
.tg-input svg{width:1.125rem;height:1.125rem}
.tg-input span{flex:1}
.tg-card{position:absolute;left:0;bottom:2rem;z-index:2;display:none;width:15.5rem;padding:.875rem 1rem 1rem;border-radius:var(--radius-xl);background:color-mix(in oklab,var(--popover) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-float);font-size:.75rem}
@media (min-width:640px){.tg-card{display:block}.tg-body{min-height:25rem}}
.tg-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--muted-foreground);font-weight:500}
.tg-card>b{display:block;margin-top:.625rem;font-size:1.375rem;font-weight:600;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
.tg-card>small{display:block;color:var(--muted-foreground)}
.tg-spark{display:flex;align-items:flex-end;gap:4px;height:2.5rem;margin-top:.75rem}
.tg-spark i{flex:1;height:var(--h);border-radius:3px 3px 1px 1px;background:color-mix(in oklab,var(--foreground) 16%,transparent)}
.tg-spark i:last-child{background:var(--foreground)}

/* FAQ */
.faq-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem}
.faq-layout .section-head{margin-bottom:0}
.faq{width:100%;max-width:52rem;margin-inline:auto}
.faq-help{display:flex;flex-wrap:wrap;align-items:center;gap:.875rem 1rem;width:100%;max-width:52rem;margin-inline:auto;padding:1.125rem 1.25rem}
.faq-help>div:first-of-type{flex:1;min-width:12rem}
.faq-help b{display:block;font-size:.9375rem;font-weight:600}
.faq-help p{color:var(--muted-foreground);font-size:.875rem}
.faq-help-actions{display:flex;flex-wrap:wrap;gap:.5rem}
@media (min-width:1024px){
  .faq-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);grid-template-rows:auto 1fr;gap:1.75rem clamp(3rem,1rem + 4vw,6rem);align-items:start}
  .faq-head{grid-column:1;grid-row:1}
  .faq-help{grid-column:1;grid-row:2;flex-direction:column;align-items:flex-start;max-width:24rem;margin:0}
  .faq-help>div:first-of-type{flex:none;min-width:0}
  .faq{grid-column:2;grid-row:1/span 2;justify-self:end;margin:0}
}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item:first-child{border-top:1px solid var(--border)}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;width:100%;padding:1.125rem .125rem;font-size:1rem;font-weight:500;line-height:1.45;text-align:left;border-radius:var(--radius-md)}
.faq-q:hover span{text-decoration:underline;text-underline-offset:4px;text-decoration-color:color-mix(in oklab,var(--foreground) 35%,transparent)}
.faq-chev{width:1rem;height:1rem;color:var(--muted-foreground);transition:transform .22s var(--ease-out)}
.faq-q[aria-expanded=true] .faq-chev{transform:rotate(180deg)}
.faq-a{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .24s var(--ease-out),visibility 0s linear .24s}
.faq-a>div{min-height:0;overflow:hidden}
.faq-a p{padding:0 2.5rem 1.25rem .125rem;color:var(--muted-foreground);font-size:.9375rem;line-height:1.7;opacity:0;transform:translateY(-4px);transition:opacity .2s var(--ease-out),transform .24s var(--ease-out)}
.faq-item.is-open .faq-a,html:not(.js) .faq-a{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .24s var(--ease-out),visibility 0s}
.faq-item.is-open .faq-a p,html:not(.js) .faq-a p{opacity:1;transform:none}
@media (max-width:479.98px){.faq-a p{padding-right:.5rem}}

/* CTA (fixed dark band, continues into the footer) */
.cta-band{padding-block:clamp(4rem,3rem + 4vw,6.5rem) clamp(2.5rem,2rem + 2vw,4rem);border-top:1px solid oklch(1 0 0 / 8%)}
.cta{position:relative;isolation:isolate;overflow:hidden;padding:clamp(2.75rem,2rem + 4vw,5rem) clamp(1.25rem,1rem + 3vw,4rem);border-radius:calc(var(--radius)*2.4);background:radial-gradient(ellipse 70% 80% at 50% 0%,oklch(1 0 0 / 8%),transparent 70%),linear-gradient(180deg,oklch(1 0 0 / 5%),oklch(1 0 0 / 1.5%));box-shadow:inset 0 0 0 1px var(--border),inset 0 1px 0 oklch(1 0 0 / 6%);color:var(--foreground);text-align:center}
.cta::before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(to right,oklch(1 0 0 / 6%) 1px,transparent 1px),linear-gradient(to bottom,oklch(1 0 0 / 6%) 1px,transparent 1px);background-size:48px 48px;background-position:center top;-webkit-mask-image:radial-gradient(ellipse 70% 90% at 50% 0%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse 70% 90% at 50% 0%,#000 10%,transparent 70%)}
.cta-methods{display:flex;justify-content:center;gap:.625rem;margin-bottom:1.5rem}
.cta-methods span{display:grid;place-items:center;width:2.25rem;height:2.25rem}
.cta-methods img{width:2.25rem;height:2.25rem;border-radius:9px;object-fit:contain}
.cta-eyebrow{display:inline-flex;align-items:center;gap:.5rem;height:1.75rem;padding:0 .75rem;border-radius:9999px;background:oklch(1 0 0 / 4%);box-shadow:inset 0 0 0 1px var(--border);color:var(--muted-foreground);font-size:.8125rem;font-weight:500}
.cta-eyebrow svg{width:.875rem;height:.875rem}
.cta-title{max-width:46rem;margin:1.25rem auto 0;font-size:clamp(1.875rem,1.25rem + 2.6vw,3rem);font-weight:600;letter-spacing:-.04em;line-height:1.08;text-wrap:balance}
.cta-lead{max-width:34rem;margin:1rem auto 0;color:var(--muted-foreground);font-size:clamp(1rem,.95rem + .25vw,1.125rem);text-wrap:pretty}
.cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2.25rem}
.cta-foot{margin-top:1.75rem;color:var(--muted-foreground);font-size:.875rem}
.cta-foot a{display:inline-flex;align-items:center;gap:.25rem;color:var(--foreground);font-weight:500;text-decoration:underline;text-underline-offset:4px;text-decoration-color:color-mix(in oklab,var(--foreground) 35%,transparent);transition:text-decoration-color .15s}
.cta-foot a:hover{text-decoration-color:currentColor}
.cta-foot svg{width:.875rem;height:.875rem}
@media (max-width:479.98px){.cta-actions{flex-direction:column;align-items:stretch}}

/* 404 */
.nf{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
.nf-header{border-bottom:1px solid var(--border)}
.nf-main{position:relative;isolation:isolate;flex:1;display:grid;place-items:center;overflow:hidden;padding:3.5rem 0 4rem;text-align:center}
.nf-main .hero-bg{height:100%;-webkit-mask-image:radial-gradient(ellipse 55% 60% at 50% 45%,#000 15%,transparent 70%);mask-image:radial-gradient(ellipse 55% 60% at 50% 45%,#000 15%,transparent 70%)}
.nf-main .hero-grid{top:50%;height:672px;margin-top:-336px}
.nf-box{position:relative;max-width:32rem;margin-inline:auto;animation:reveal-up .7s var(--ease-out) backwards}
.nf-code{margin-top:.5rem;font-size:clamp(6.5rem,4rem + 12vw,11rem);font-weight:600;letter-spacing:-.07em;line-height:1;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,var(--foreground) 30%,color-mix(in oklab,var(--foreground) 22%,transparent));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;user-select:none}
.nf-title{margin-top:1rem;font-size:clamp(1.5rem,1.25rem + 1vw,1.875rem);font-weight:600;letter-spacing:-.03em}
.nf-text{max-width:26rem;margin:.75rem auto 0;color:var(--muted-foreground);text-wrap:pretty}
.nf-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem}
.nf-help{margin-top:1.75rem;color:var(--muted-foreground);font-size:.875rem}
.nf-help a{color:var(--foreground);font-weight:500;text-decoration:underline;text-underline-offset:4px;text-decoration-color:color-mix(in oklab,var(--foreground) 30%,transparent)}
.nf-help a:hover{text-decoration-color:currentColor}
.nf-footer{padding:1.25rem 0;border-top:1px solid var(--border);color:var(--muted-foreground);font-size:.8125rem;text-align:center}
@media (max-width:479.98px){.nf-actions{flex-direction:column;align-items:stretch;max-width:20rem;margin-inline:auto}}

/* Motion */
[data-enter]{animation:reveal-up .8s var(--ease-out) backwards;animation-delay:calc(var(--d,0) * 90ms + 60ms)}
.js [data-reveal]:not(.is-visible){opacity:0}
.js [data-reveal].is-visible{animation:reveal-up .7s var(--ease-out) backwards;animation-delay:calc(var(--d,0) * 80ms)}

@keyframes reveal-up{from{opacity:0;transform:translateY(16px)}}
@keyframes fade-in{from{opacity:0}}
@keyframes float-in{from{opacity:0;transform:translateY(12px) scale(.97)}}
@keyframes float{0%,100%{transform:none}50%{transform:translateY(-6px)}}
@keyframes cell{0%,100%{opacity:0}35%,65%{opacity:1}}
@keyframes ping{0%{transform:scale(1);opacity:.55}80%,100%{transform:scale(2.4);opacity:0}}
@keyframes wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes grow-x{from{transform:scaleX(0)}}
@keyframes row-flash{from{background:var(--muted)}}
@keyframes halo{0%{transform:scale(.6);opacity:.9}100%{transform:scale(3.2);opacity:0}}
@keyframes dash{to{stroke-dashoffset:-90}}

@media print{[data-reveal],[data-enter]{opacity:1!important;animation:none!important}.site-header{position:static}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .js [data-reveal]:not(.is-visible){opacity:1}
  .hero-grid i{display:none}
  .world .halo{display:none}
  .live-dot::after,.fp-dot::after,.pay-wait::after{display:none}
}

/* Phones: methods and steps become swipeable cards so the page stays short */
@media (max-width:639.98px){
  .methods,.flow-steps{display:flex;gap:.75rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding:.25rem var(--gutter) .75rem;scroll-padding-inline:var(--gutter)}
  .methods::-webkit-scrollbar,.flow-steps::-webkit-scrollbar{display:none}
  .methods>.method{flex:0 0 86%;scroll-snap-align:start}
  .flow-steps.card{border-radius:0;background:transparent;box-shadow:none}
  .flow-steps>.fstep{flex:0 0 86%;scroll-snap-align:start;border:0;border-radius:var(--radius-xl);background:var(--card);box-shadow:var(--shadow-ring)}
  .fstep+.fstep{border-top:0}
}

/* Calculator: numbers keep a fixed width so nothing moves while sliding */
[data-calc-out]{font-variant-numeric:tabular-nums}
.calc-label output{display:inline-block;min-width:7ch;text-align:right}
.calc-bar-head [data-calc-out]{display:inline-block;min-width:6ch;text-align:right}
.calc-result [data-calc-out]{display:inline-block;min-width:6.5ch;text-align:right}
.calc-note [data-calc-out]{display:inline-block;min-width:6ch;text-align:center}

/* Content protection: no text selection outside form fields */
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,select,[contenteditable="true"]{-webkit-user-select:text;user-select:text}
img{-webkit-user-drag:none}
.calc-note{white-space:nowrap;overflow:hidden;text-overflow:clip}
@media (max-width:399.98px){.calc-note{font-size:.75rem}}

/* Hero flow: a light pulse runs through the three steps of a payment */
.hero-flow{position:relative;max-width:30rem;margin:2.5rem auto 0;text-align:left}
.flow-nodes{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;list-style:none;margin:0;padding:0}
.flow-nodes li{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.flow-nodes li:nth-child(2){align-items:center;text-align:center}
.flow-nodes li:nth-child(3){align-items:flex-end;text-align:right}
.flow-nodes b{color:var(--foreground);font-size:.875rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.flow-nodes small{color:var(--muted-foreground);font-size:.8125rem;white-space:nowrap}
.flow-dot{position:relative;z-index:1;width:.875rem;height:.875rem;margin-bottom:.75rem;border-radius:50%;background:var(--background);box-shadow:0 0 0 1.5px color-mix(in oklab,var(--foreground) 28%,transparent);animation:flow-lit 3.2s var(--ease-out) infinite}
.flow-nodes li:nth-child(2) .flow-dot{animation-delay:.8s}
.flow-nodes li:nth-child(3) .flow-dot{background:var(--success);box-shadow:0 0 0 1.5px var(--success);animation:flow-done 3.2s var(--ease-out) 1.6s infinite}
.flow-nodes li:nth-child(3) .flow-dot::after{content:'';position:absolute;inset:-.375rem;border-radius:50%;border:1.5px solid var(--success);opacity:0;animation:flow-ping 3.2s var(--ease-out) 1.6s infinite}
.flow-track{position:absolute;top:.4375rem;left:.4375rem;right:.4375rem;height:2px;margin-top:-1px;overflow:hidden;border-radius:2px;background:color-mix(in oklab,var(--foreground) 12%,transparent)}
.flow-runner{position:absolute;top:0;bottom:0;left:0;width:35%;background:linear-gradient(90deg,transparent,var(--foreground),transparent);animation:flow-run 3.2s var(--ease-out) infinite}
@keyframes flow-run{0%{transform:translateX(-100%)}60%,100%{transform:translateX(290%)}}
@keyframes flow-lit{0%,100%{box-shadow:0 0 0 1.5px color-mix(in oklab,var(--foreground) 28%,transparent)}12%,35%{box-shadow:0 0 0 1.5px var(--foreground),0 0 0 6px color-mix(in oklab,var(--foreground) 10%,transparent)}}
@keyframes flow-done{0%,100%{transform:scale(1)}10%{transform:scale(1.25)}25%{transform:scale(1)}}
@keyframes flow-ping{0%{opacity:.9;transform:scale(.6)}45%,100%{opacity:0;transform:scale(1.6)}}
@media (min-width:1100px){.hero-flow{margin-inline:0}}
@media (max-width:479.98px){.flow-nodes{gap:.5rem}.flow-nodes b{font-size:.75rem;white-space:normal;text-wrap:balance}.flow-nodes small{font-size:.6875rem;white-space:normal;text-wrap:balance}}
@media (prefers-reduced-motion:reduce){.flow-runner,.flow-dot,.flow-dot::after{animation:none!important}.flow-runner{display:none}}

/* Header menus: brand and menus on the left */
.site-header{overflow-x:clip}
.nav{margin-left:1.75rem}
.header-actions{margin-left:auto}
.nav-item{position:relative}
.nav-trigger{display:inline-flex;align-items:center;gap:.25rem}
.dd-chev{width:.875rem;height:.875rem;opacity:.7;transition:transform .2s var(--ease-out)}
.nav-item[data-open] .nav-trigger{color:var(--foreground);background:var(--muted-50)}
[data-open]>[data-dd-trigger] .dd-chev{transform:rotate(180deg)}
.dd{position:absolute;top:calc(100% + .625rem);left:0;z-index:60;min-width:15rem;border-radius:var(--radius-xl);background:var(--popover);color:var(--foreground);box-shadow:var(--shadow-float);visibility:hidden;opacity:0;transform:translateY(-4px) scale(.985);transform-origin:top left;transition:opacity .14s var(--ease),transform .14s var(--ease),visibility 0s linear .14s}
.dd::before{content:'';position:absolute;left:0;right:0;top:-.75rem;height:.75rem}
[data-open]>.dd{visibility:visible;opacity:1;transform:none;transition:opacity .16s var(--ease-out),transform .22s var(--ease-out),visibility 0s}
[data-dd-align=end]>.dd{left:auto;right:0;transform-origin:top right}
.dd-mega{width:min(42rem,calc(100vw - var(--gutter)*2));overflow:hidden}
.dd-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.dd-col{display:grid;align-content:start;gap:.125rem;padding:1.125rem}
.dd-col.is-side{background:var(--surface-muted);box-shadow:inset 1px 0 0 var(--border)}
.dd-kicker{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 .5rem .625rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.16em;line-height:1.2;text-transform:uppercase}
.dd-live{display:inline-flex;align-items:center;gap:.375rem;color:var(--success);letter-spacing:.12em}
.dd-live i{position:relative;width:.375rem;height:.375rem;border-radius:50%;background:currentColor}
.dd-live i::after{content:'';position:absolute;inset:0;border-radius:inherit;background:inherit;animation:ping 2s var(--ease-out) infinite}
.dd-link{display:flex;align-items:flex-start;gap:.75rem;padding:.625rem .5rem;border-radius:var(--radius-lg);transition:background-color .15s var(--ease-out)}
.dd-link:hover,.dd-link:focus-visible{background:var(--muted-50)}
.dd-col.is-side .dd-link:hover,.dd-col.is-side .dd-link:focus-visible{background:var(--background)}
.dd-ico{display:grid;place-items:center;flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:var(--radius-md);background:var(--muted-50);color:var(--foreground)}
.dd-ico.is-img{background:none}
.dd-ico svg{width:1rem;height:1rem}
.dd-ico img{width:1.75rem;height:1.75rem;border-radius:7px;object-fit:contain}
.dd-link b{display:block;font-size:.875rem;font-weight:600;line-height:1.35}
.dd-link small{display:block;margin-top:.125rem;color:var(--muted-foreground);font-size:.8125rem;line-height:1.45}
.dd-foot{display:flex;align-items:center;gap:.375rem;padding:.875rem 1.625rem;border-top:1px solid var(--border);font-size:.875rem;font-weight:500;transition:background-color .15s var(--ease-out)}
.dd-foot:hover{background:var(--muted-50)}
.dd-foot svg{width:.875rem;height:.875rem;transition:transform .2s var(--ease-out)}
.dd-foot:hover svg{transform:translateX(2px)}

/* Language selector */
.lang{position:relative}
.lang-btn{gap:.4375rem;padding:0 .5rem}
.lang-btn>span{font-size:.8125rem;font-weight:600;letter-spacing:.04em}
.flag{display:block;flex-shrink:0;width:1.5rem;height:1rem;border-radius:2px;overflow:hidden}
.flag-none{display:grid;place-items:center;background:var(--muted);color:var(--muted-foreground)}
.flag-none svg{width:.625rem;height:.625rem}
.dd-lang{width:15.5rem;padding:.375rem}
.dd-lang .dd-kicker{margin:.5rem .625rem .5rem}
.lang-list{display:grid;gap:.0625rem}
.lang-item{display:flex;align-items:center;gap:.75rem;height:2.375rem;padding:0 .625rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;transition:background-color .15s var(--ease-out)}
.lang-item:hover,.lang-item:focus-visible{background:var(--muted-50)}
.lang-item.is-on{background:var(--muted-50)}
.lang-check{width:1rem;height:1rem;margin-left:auto}

/* Mobile menu groups and languages */
.m-group>summary{list-style:none;cursor:pointer}
.m-group>summary::-webkit-details-marker{display:none}
.m-group>summary svg{transition:transform .2s var(--ease-out)}
.m-group[open]>summary svg{transform:rotate(180deg)}
.m-group[open]>summary{border-bottom-color:transparent}
.m-sub{display:grid;gap:.125rem;padding:0 0 .75rem;border-bottom:1px solid var(--border)}
.m-sub a{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem .25rem;border-radius:var(--radius-md)}
.m-sub a:hover{background:var(--muted-50)}
.m-sub b{display:block;font-size:.9375rem;font-weight:500;line-height:1.35}
.m-sub small{display:block;color:var(--muted-foreground);font-size:.8125rem;line-height:1.4}
.m-langs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.375rem;margin-top:1.25rem}
.m-lang{display:flex;align-items:center;gap:.625rem;min-width:0;height:2.5rem;padding:0 .75rem;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--border);font-size:.875rem;font-weight:500}
.m-lang span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-lang.is-on{box-shadow:inset 0 0 0 1.5px var(--foreground)}

/* Footer */
.site-footer{padding:4rem 0 2rem;border-top:1px solid var(--border);font-size:.875rem}
.cta-band+.site-footer{padding-top:3.5rem}
.footer-grid{display:grid;gap:2.5rem 2rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.footer-brand,.footer-support{grid-column:1/-1}
.footer-brand{max-width:26rem}
@media (min-width:768px){
  .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-support{grid-column:auto/span 3;max-width:30rem}
}
@media (min-width:1100px){
  .footer-grid{grid-template-columns:minmax(0,2.3fr) repeat(3,minmax(0,1fr)) minmax(0,1.7fr);gap:2.5rem}
  .footer-brand,.footer-support{grid-column:auto}
  .footer-support{max-width:none}
}
.footer-tag{margin-top:.875rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.18em;line-height:1.6;text-transform:uppercase}
.footer-desc{margin-top:1rem;color:var(--muted-foreground);line-height:1.65}
.footer-loc{display:flex;gap:.75rem;margin-top:1.5rem}
.footer-loc>svg{width:1rem;height:1rem;margin-top:.125rem;color:var(--muted-foreground)}
.footer-loc b{display:block;font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.footer-loc span{display:block;margin-top:.25rem;color:var(--muted-foreground);line-height:1.55}
.footer-mail{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .75rem;margin-top:1rem;margin-left:1.75rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.8125rem}
.footer-mail a{display:inline-flex;align-items:center;gap:.5rem;color:var(--foreground);overflow-wrap:anywhere;transition:color .15s var(--ease-out)}
.footer-mail a:hover{color:var(--muted-foreground)}
.footer-mail svg{width:.875rem;height:.875rem}
.footer-mail span[aria-hidden]{opacity:.4}
.footer-col{min-width:0}
.footer-col h3{margin-bottom:1rem;padding-bottom:.875rem;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:.14em;line-height:1.3;text-transform:uppercase}
.footer-col ul{display:grid;gap:.6875rem}
.footer-col a{display:inline-flex;align-items:center;gap:.375rem;max-width:100%;color:var(--muted-foreground);overflow-wrap:anywhere;transition:color .15s var(--ease-out)}
.footer-col a:hover{color:var(--foreground)}
.footer-col svg{width:.875rem;height:.875rem}
.footer-support>p{color:var(--muted-foreground);line-height:1.6}
.footer-kicker{margin-top:1.5rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.footer-social{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.footer-col .footer-chip{gap:.5rem;height:2.25rem;padding:0 .75rem;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--border);color:var(--foreground);font-size:.8125rem;font-weight:500;transition:background-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}
.footer-col .footer-chip:hover{background:oklch(1 0 0 / 6%);box-shadow:inset 0 0 0 1px oklch(1 0 0 / 18%)}
.footer-col .footer-chip svg{width:1rem;height:1rem}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 2rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--muted-foreground);font-size:.8125rem}
.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .875rem;font-family:var(--font-mono);font-size:.75rem}
.footer-links a{color:var(--muted-foreground);transition:color .15s var(--ease-out)}
.footer-links a:hover{color:var(--foreground)}
.footer-links>span[aria-hidden]{opacity:.35}
.footer-lang{display:inline-flex;align-items:center;gap:.5rem}

.pill>svg{width:.875rem;height:.875rem;color:var(--foreground)}
.input{width:100%;height:2.5rem;padding:0 .75rem;border-radius:var(--radius-md);background:var(--background);box-shadow:inset 0 0 0 1px var(--input),var(--shadow-xs);font-size:.875rem;outline:none;transition:box-shadow .15s var(--ease-out)}
.input:focus{box-shadow:inset 0 0 0 1px var(--ring),0 0 0 3px var(--ring-50)}
.dark .input{background:var(--input-30)}
.input::placeholder{color:var(--muted-foreground);opacity:.8}

/* Resellers directory */
.rs-section{padding-top:clamp(1.5rem,1rem + 2vw,2.5rem)}
.rs-layout{display:grid;gap:1.25rem}
@media (min-width:1024px){
  .rs-layout{grid-template-columns:minmax(0,1fr) 22.5rem;align-items:start;gap:1.5rem}
  .rs-side{position:sticky;top:calc(var(--header-h) + 1.5rem)}
}
.rs-main{min-width:0}
.rs-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.rs-search{position:relative;flex:1 1 16rem;min-width:0}
.rs-search>svg{position:absolute;left:.75rem;top:50%;width:1rem;height:1rem;margin-top:-.5rem;color:var(--muted-foreground);pointer-events:none}
.rs-search .input{padding-left:2.25rem}
.rs-select{flex:0 1 13rem;width:auto;cursor:pointer}
.rs-go{display:none}
html:not(.js) .rs-go{display:inline-flex}
.rs-none{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.875rem 1rem;border:1px dashed var(--border);border-radius:var(--radius-lg);color:var(--muted-foreground);font-size:.875rem}
.rs-none svg{width:1rem;height:1rem}
.rs-none a{color:var(--foreground);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.rs-grid{display:grid;gap:1rem}
@media (min-width:700px){.rs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rs-card{display:flex;flex-direction:column;gap:1rem;min-width:0;padding:1.25rem}
.rs-card-head{display:flex;align-items:center;gap:.875rem;min-width:0}
.rs-avatar{display:grid;place-items:center;flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:var(--radius-lg);background:var(--primary);color:var(--primary-foreground);font-size:.9375rem;font-weight:600;letter-spacing:.02em}
.rs-id{min-width:0}
.rs-id h3{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;font-size:1rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.rs-id h3>span:first-child{overflow-wrap:anywhere}
.rs-badge{display:inline-flex;align-items:center;gap:.25rem;height:1.375rem;padding:0 .5rem 0 .375rem;border-radius:9999px;background:var(--muted);color:var(--foreground);font-size:.6875rem;font-weight:600;letter-spacing:.01em}
.rs-badge svg{width:.875rem;height:.875rem}
.rs-where{display:flex;align-items:center;gap:.5rem;margin-top:.3125rem;color:var(--muted-foreground);font-size:.8125rem}
.rs-note{color:var(--muted-foreground);font-size:.875rem;line-height:1.55}
.rs-meta{display:grid;gap:.625rem;padding-top:1rem;border-top:1px dashed var(--border)}
.rs-meta div{display:grid;grid-template-columns:5.75rem minmax(0,1fr);gap:.75rem;font-size:.8125rem;line-height:1.5}
.rs-meta dt{color:var(--muted-foreground)}
.rs-meta dd{font-weight:500}
.rs-chips{display:flex;flex-wrap:wrap;gap:.375rem}
.rs-chips span{display:inline-flex;align-items:center;height:1.375rem;padding:0 .5rem;border-radius:9999px;background:var(--muted);font-size:.75rem;font-weight:500}
.rs-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}
.rs-empty{display:grid;justify-items:center;gap:.75rem;padding:clamp(2.5rem,2rem + 3vw,4rem) 1.5rem;text-align:center}
.rs-empty h2{margin-top:.25rem;font-size:1.25rem;font-weight:600;letter-spacing:-.02em}
.rs-empty p{max-width:28rem;color:var(--muted-foreground)}
.rs-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.5rem}
.rs-side{display:grid;gap:1rem}
.rs-verify{padding:1.25rem}
.rs-kicker{display:flex;align-items:center;gap:.5rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.rs-kicker svg{width:.875rem;height:.875rem;color:var(--foreground)}
.rs-verify h2{margin-top:.75rem;font-size:1.125rem;font-weight:600;letter-spacing:-.02em;line-height:1.3}
.rs-verify>p{margin-top:.5rem;color:var(--muted-foreground);font-size:.875rem;line-height:1.55}
.rs-verify form{margin-top:1.125rem}
.rs-verify .label{display:block;margin-bottom:.375rem;font-size:.8125rem;font-weight:500}
.rs-verify-row{display:flex;gap:.5rem}
.rs-verify-row .btn{--h:2.5rem}
.rs-result{display:flex;align-items:flex-start;gap:.5rem;margin-top:.875rem;padding:.75rem .875rem;border-radius:var(--radius-lg);background:var(--muted);font-size:.8125rem;line-height:1.5}
.rs-result svg{width:1rem;height:1rem;margin-top:.125rem}
.rs-result.is-ok{background:var(--success-10)}
.rs-result.is-ok svg{color:var(--success)}
.rs-result.is-no{background:var(--danger-10)}
.rs-result.is-no svg{color:var(--danger)}
.rs-warn{display:flex;align-items:flex-start;gap:.875rem;padding:1.125rem 1.25rem}
.rs-warn b{display:block;font-size:.9375rem}
.rs-warn p{margin-top:.25rem;color:var(--muted-foreground);font-size:.8125rem;line-height:1.55}
.rs-become{display:grid;gap:2rem;align-items:center}
.rs-become-text{text-align:center}
.rs-become-text .section-lead{margin-inline:auto;max-width:36rem}
.rs-become-card{padding:1.5rem}
.rs-become-card .price-list{margin-top:0}
.rs-become-actions{display:grid;gap:.5rem;margin-top:1.5rem}
@media (min-width:1024px){
  .rs-become{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:4rem}
  .rs-become-text{text-align:left}
  .rs-become-text .kicker{justify-content:flex-start}
  .rs-become-text .kicker::before{display:none}
  .rs-become-text .section-lead{margin-inline:0}
}

/* Legal pages */
.legal{padding:clamp(2.5rem,2rem + 3vw,4.5rem) 0 clamp(4rem,3rem + 4vw,6rem)}
.legal-head{max-width:48rem}
.legal-title{margin-top:1.25rem;font-size:clamp(2rem,1.45rem + 2.3vw,3.125rem);font-weight:600;letter-spacing:-.045em;line-height:1.05;text-wrap:balance}
.legal-date{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;color:var(--muted-foreground);font-size:.875rem}
.legal-date svg{width:.875rem;height:.875rem}
.legal-lead{margin-top:1rem;max-width:44rem;color:var(--muted-foreground);font-size:clamp(1rem,.96rem + .2vw,1.0625rem);line-height:1.7;text-wrap:pretty}
.legal-notice{display:flex;align-items:flex-start;gap:.625rem;margin-top:1.25rem;max-width:44rem;padding:.875rem 1rem;border-radius:var(--radius-lg);background:var(--surface-muted);box-shadow:inset 0 0 0 1px var(--border);font-size:.875rem;line-height:1.55}
.legal-notice svg{width:1rem;height:1rem;margin-top:.1875rem}
.legal-layout{display:grid;gap:2rem;margin-top:clamp(2rem,1.5rem + 2vw,3rem);padding-top:clamp(2rem,1.5rem + 2vw,3rem);border-top:1px solid var(--border)}
.legal-toc{display:none}
@media (min-width:1024px){
  .legal-layout{grid-template-columns:15.5rem minmax(0,1fr);gap:4rem}
  .legal-toc{display:block;position:sticky;top:calc(var(--header-h) + 1.5rem);align-self:start;max-height:calc(100vh - var(--header-h) - 3rem);overflow:auto;scrollbar-width:thin}
}
.legal-toc-title{margin-bottom:.75rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.legal-toc ol{display:grid;border-left:1px solid var(--border)}
.legal-toc a{display:block;margin-left:-1px;padding:.375rem .875rem;border-left:1px solid transparent;color:var(--muted-foreground);font-size:.8125rem;line-height:1.4;transition:color .15s var(--ease-out),border-color .15s var(--ease-out)}
.legal-toc a:hover{color:var(--foreground)}
.legal-toc a.is-active{border-left-color:var(--foreground);color:var(--foreground);font-weight:500}
.legal-body{min-width:0;max-width:46rem}
.legal-sec{scroll-margin-top:calc(var(--header-h) + 1.5rem);padding-bottom:2rem}
.legal-sec+.legal-sec{padding-top:2rem;border-top:1px solid var(--border)}
.legal-sec h2{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.3}
.legal-sec p,.legal-sec li{color:color-mix(in oklab,var(--foreground) 80%,transparent);font-size:.96875rem;line-height:1.75}
.legal-sec p{margin-top:.875rem}
.legal-sec ul{display:grid;gap:.5rem;margin-top:.875rem;padding-left:1.25rem;list-style:disc}
.legal-sec li::marker{color:var(--muted-foreground)}
.legal-sec a,.legal-notice a{color:var(--foreground);font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in oklab,var(--foreground) 35%,transparent)}
.legal-foot{display:grid;gap:1rem;margin-top:1rem}
@media (min-width:768px){.legal-foot{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
.legal-card{display:flex;flex-wrap:wrap;align-items:center;gap:.875rem 1rem;padding:1.125rem 1.25rem}
.legal-card>div:first-of-type{flex:1;min-width:12rem}
.legal-card b{display:block;font-size:.9375rem;font-weight:600}
.legal-card p{color:var(--muted-foreground);font-size:.875rem}
.legal-card-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.legal-next{position:relative;display:flex;flex-direction:column;justify-content:center;gap:.375rem;padding:1.125rem 3rem 1.125rem 1.25rem;transition:box-shadow .2s var(--ease-out)}
.legal-next:hover{box-shadow:0 0 0 1px color-mix(in oklab,var(--foreground) 18%,transparent),var(--shadow-md)}
.legal-next-k{color:var(--muted-foreground);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase}
.legal-next b{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600}
.legal-next b svg{width:1rem;height:1rem}
.legal-next .arrow{position:absolute;right:1.25rem;top:50%;width:1rem;height:1rem;margin-top:-.5rem;transition:transform .2s var(--ease-out)}
.legal-next:hover .arrow{transform:translateX(3px)}

/* Scripts without Latin letters: system and Noto fonts, no tight tracking, taller lines */
:root:lang(zh){--font-sans:'Geist','Noto Sans SC','PingFang SC','Microsoft YaHei','Hiragino Sans GB',system-ui,sans-serif}
:root:lang(bn){--font-sans:'Geist','Noto Sans Bengali','Nirmala UI','Vrinda',system-ui,sans-serif}
:root:lang(hi){--font-sans:'Geist','Noto Sans Devanagari','Nirmala UI','Mangal',system-ui,sans-serif}
:root:lang(my){--font-sans:'Geist','Noto Sans Myanmar','Myanmar Text','Padauk',system-ui,sans-serif}
:root:is(:lang(zh),:lang(bn),:lang(hi),:lang(my)) body *{letter-spacing:normal!important}
:root:is(:lang(bn),:lang(hi)) :is(h1,h2,h3,.hero-title,.section-title,.cta-title,.infra-title,.legal-title){line-height:1.3}
:root:lang(my) body{line-height:1.85}
:root:lang(my) :is(h1,h2,h3,.hero-title,.section-title,.cta-title,.infra-title,.legal-title){line-height:1.55}
:root:not([data-lang=es]):not([data-lang=en]) .calc-note{white-space:normal}
:root:not([data-lang=es]):not([data-lang=en]) .flow-nodes b,:root:not([data-lang=es]):not([data-lang=en]) .flow-nodes small{white-space:normal;text-wrap:balance}
:root:is(:lang(bn),:lang(hi),:lang(my)) .hero-title{font-size:clamp(2rem,1rem + 3.6vw,3.6rem)}
:root:is(:lang(bn),:lang(hi),:lang(my)) :is(.section-title,.legal-title){font-size:clamp(1.625rem,1.15rem + 1.8vw,2.375rem)}
:root:lang(my) .hero-title{font-size:clamp(1.75rem,.9rem + 3vw,3rem)}

/* Select (landing.js): styled list over the native select */
.cs{position:relative;display:flex;min-width:0}
.cs-native{position:absolute!important;inset:0;width:100%!important;height:100%!important;margin:0;opacity:0;pointer-events:none}
.cs-btn{display:flex;align-items:center;gap:.5rem;padding-right:.625rem;text-align:left;cursor:pointer}
.cs-val{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cs-chev{width:1rem;height:1rem;flex-shrink:0;color:var(--muted-foreground);transition:transform .2s var(--ease-out)}
.cs[data-open] .cs-chev{transform:rotate(180deg)}
.cs[data-open] .cs-btn{box-shadow:inset 0 0 0 1px var(--ring),0 0 0 3px var(--ring-50)}
.cs-menu{top:calc(100% + .375rem);display:grid;gap:.25rem;min-width:100%;max-height:20rem;overflow-y:auto;padding:.4375rem;overscroll-behavior:contain;scrollbar-width:thin}
.cs.is-up>.cs-menu{top:auto;bottom:calc(100% + .375rem);transform-origin:bottom left}
.cs-opt{display:flex;align-items:center;gap:.75rem;min-height:2.5rem;padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;white-space:nowrap;cursor:pointer;outline:none;transition:background-color .1s var(--ease-out)}
.cs-opt:hover,.cs-opt:focus{background:var(--muted-50)}
.cs-opt[aria-selected=true]{background:var(--muted-50)}
.cs-opt>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.cs-check{width:1rem;height:1rem;flex-shrink:0;opacity:0}
.cs-opt[aria-selected=true] .cs-check{opacity:1}
select.input option{background:var(--popover);color:var(--foreground)}

/* Resellers globe: particles on a canvas (landing.js), HUD labels and a faint grid */
.rs-globe{padding-top:clamp(1.25rem,1rem + 1vw,2rem)}
.globe-panel{position:relative;isolation:isolate;overflow:hidden;height:clamp(22rem,14rem + 22vw,33rem);border-radius:calc(var(--radius) * 2.4);background:radial-gradient(ellipse 55% 70% at 60% 52%,color-mix(in oklab,var(--foreground) 4%,transparent),transparent 72%),var(--surface-muted);box-shadow:var(--shadow-ring);cursor:grab;touch-action:pan-y}
.dark .globe-panel{background:radial-gradient(ellipse 55% 70% at 60% 52%,oklch(1 0 0 / 5%),transparent 72%),oklch(.12 0 0)}
.globe-panel.is-dragging{cursor:grabbing}
.globe-panel::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:20% 33.34%;background-position:-1px -1px;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 45%,transparent 100%);mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 45%,transparent 100%)}
.globe-canvas{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%}
.globe-title{position:absolute;z-index:1;top:clamp(1.25rem,1rem + 1.5vw,2.5rem);left:clamp(1.25rem,1rem + 1.5vw,2.5rem);max-width:min(26rem,70%);font-size:clamp(2rem,1.3rem + 2.6vw,3.5rem);font-weight:500;letter-spacing:-.045em;line-height:1.02;text-wrap:balance;pointer-events:none}
.globe-caption{position:absolute;z-index:1;left:clamp(1.25rem,1rem + 1.5vw,2.5rem);bottom:clamp(1.25rem,1rem + 1.5vw,2.25rem);max-width:17rem;color:var(--muted-foreground);font-family:var(--font-mono);font-size:.75rem;line-height:1.6;pointer-events:none}
.globe-hud{position:absolute;inset:0;z-index:1;pointer-events:none}
.globe-hud li{position:absolute;display:grid;grid-template-columns:auto auto;align-items:baseline;gap:.125rem .5rem;font-family:var(--font-mono)}
.globe-hud li::before{content:'';grid-row:1;width:.375rem;height:.375rem;align-self:center;background:currentColor;opacity:.85}
.globe-hud b{grid-row:1;font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums}
.globe-hud span{grid-column:2;color:var(--muted-foreground);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase}
.globe-hud .is-a{top:24%;right:7%}
.globe-hud .is-b{top:66%;right:11%}
.globe-hud .is-c{top:70%;left:20%}
@media (max-width:759.98px){
  .globe-hud .is-a{top:auto;bottom:1.25rem;left:auto;right:1.25rem}
  .globe-hud .is-b,.globe-hud .is-c{display:none}
  .globe-caption{max-width:12rem}
}
