/* ================================================================
   PayCaddy — Design System & Shared Styles
   ================================================================
   Single source of truth for all CSS across the website.
   Loaded by every page via <link rel="stylesheet" href="styles.css">
   (or "../styles.css" for sub-pages).

   TABLE OF CONTENTS
   ─────────────────────────────────────────────────────────────────
    1. Reset & Variables
    2. Language Toggle (data-lang / body.es)
    3. Utilities (.ctn, .g-text, .slbl, .reveal)
    4. Buttons (.btn-m, .btn-s)
    5. Language Toggle UI (.lt)
    6. Navigation (glass morphism, fixed header)
    7. Navigation Dropdowns
    8. Mobile Navigation
    9. Theme Toggle
   10. Page Hero (.pg-hero) — sub-pages
   11. Homepage Hero (.hero) — landing page only
   12. Homepage Hero Cards (.hcard)
   13. Partners Strip
   14. Solutions Bento Grid (.sol-card)
   15. Tech Section (Bespoke / Express cards)
   16. Revenue / Stats
   17. Steps Timeline (homepage 5-step)
   18. Clients Marquee
   19. Blog Grid
   20. CTA Section
   21. BIN Sponsorship Section
   22. Global Presence / Map
   23. Newsroom
   24. Awards Strip
   25. Build Your Solution Overlay (.bys-*)
   26. Content Sections (.pg-section, .pg-cta)
   27. Feature Grid (.feat-grid / .feat-card)
   28. Feature Card Lists (checkmark lists inside feat-cards)
   29. Comparison Tables (.cmp-table)
   30. Use Cases List (.uc-list)
   31. Steps Timeline (.steps-row) — sub-pages
   32. Contact Form
   33. Gallery & Lightbox (About page)
   34. Footer
   35. Scrollbar
   36. Accessibility (prefers-reduced-motion)
   37. Light Mode Overrides
   38. Responsive Breakpoints

   DESIGN TOKENS
   ─────────────────────────────────────────────────────────────────
   --mint:       #7FFFCA  (dark) / #008f63 (light)
   --bg:         #030303  (dark) / #f8f8f8 (light)
   --grad:       linear-gradient(135deg, #7FFFCA, #5de6ad)
   --glass:      rgba(255,255,255, 0.03)
   Font:         Montserrat (300–900)
   ================================================================ */


/* ================================================================
   1. RESET & VARIABLES
   ================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&display=swap');

*{margin:0;padding:0;box-sizing:border-box}

:root{
  /* Backgrounds */
  --bg:#030303;--bg2:#080808;--bg3:#0e0e0e;--bg4:#141414;
  /* Borders */
  --border:rgba(255,255,255,0.06);--border2:rgba(255,255,255,0.12);
  /* Brand colors */
  --mint:#7FFFCA;--mint2:#5de6ad;--mint-d:rgba(127,255,202,0.08);--mint-dd:rgba(127,255,202,0.04);
  --tan:#B5A882;--white:#fff;
  /* Text hierarchy */
  --t1:#fff;--t2:rgba(255,255,255,0.72);--t3:rgba(255,255,255,0.50);
  /* Typography */
  --fd:'Montserrat',sans-serif;--fb:'Montserrat',sans-serif;
  /* Effects */
  --grad:linear-gradient(135deg,#7FFFCA 0%,#5de6ad 100%);
  --glow:0 0 40px rgba(127,255,202,0.15);
  --glow-h:0 0 70px rgba(127,255,202,0.25);
  --glass:rgba(255,255,255,0.03);
  --glass-b:rgba(255,255,255,0.055);
}

html{scroll-behavior:smooth}
body{font-family:var(--fb);color:var(--t1);background:var(--bg);overflow-x:hidden}


/* ================================================================
   2. LANGUAGE TOGGLE (EN / ES)
   ================================================================
   Every bilingual element carries data-lang="en" or data-lang="es".
   By default Spanish is hidden; body.es flips visibility.
   Each HTML element type needs an explicit display rule to override
   the blanket display:none.
   ================================================================ */
[data-lang="es"]{display:none!important}
body.es [data-lang="en"]{display:none!important}

/* Block-level elements */
body.es p[data-lang="es"],
body.es h1[data-lang="es"],body.es h2[data-lang="es"],
body.es h3[data-lang="es"],body.es h4[data-lang="es"],
body.es div[data-lang="es"]{display:block!important}

/* Flex containers that must remain flex */
body.es div.bin-badges[data-lang="es"]{display:flex!important}

/* Inline elements */
body.es span[data-lang="es"],body.es strong[data-lang="es"]{display:inline!important}
body.es small[data-lang="es"]{display:inline!important}
body.es img[data-lang="es"]{display:inline!important}

/* List items */
body.es li[data-lang="es"]{display:list-item!important}
body.es ul[data-lang="es"]{display:block!important}

/* Interactive elements */
body.es a[data-lang="es"],body.es button[data-lang="es"]{display:inline-flex!important}
body.es .slbl[data-lang="es"]{display:inline-flex!important}
body.es .pg-tag[data-lang="es"]{display:inline-flex!important}

/* Table elements */
body.es table[data-lang="es"]{display:table!important}
body.es th[data-lang="es"],body.es td[data-lang="es"]{display:table-cell!important}

/* Form elements */
body.es input[data-lang="es"],body.es textarea[data-lang="es"]{display:block!important}
body.es select[data-lang="es"]{display:block!important}
body.es option[data-lang="es"]{display:block!important}
body.es label[data-lang="es"]{display:block!important}

/* Section & article elements */
body.es section[data-lang="es"],
body.es article[data-lang="es"]{display:block!important}


/* ================================================================
   3. UTILITIES
   ================================================================ */
.ctn,.inner{max-width:1200px;margin:0 auto;padding:0 24px}
.g-text{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Section label — green uppercase tag with left bar */
.slbl{display:inline-flex;align-items:center;gap:8px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;margin-bottom:16px;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.slbl::before{content:'';width:24px;height:1.5px;background:var(--grad);-webkit-text-fill-color:initial}

/* Scroll-reveal entrance animation */
.reveal{opacity:0;transform:translateY(35px);transition:.8s cubic-bezier(.16,1,.3,1)}
.reveal.vis{opacity:1;transform:translateY(0)}
@keyframes fiu{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}


/* ================================================================
   4. BUTTONS
   ================================================================ */
.btn-m{display:inline-flex;align-items:center;gap:8px;padding:13px 30px;background:var(--grad);color:#000!important;text-decoration:none;font-family:var(--fb);font-size:.88rem;font-weight:700;border-radius:100px;border:none;cursor:pointer;transition:.3s;letter-spacing:-.01em}
.btn-m:hover{transform:translateY(-2px);box-shadow:var(--glow-h)}
.btn-s{display:inline-flex;align-items:center;gap:8px;padding:13px 30px;background:var(--glass);color:var(--t1);text-decoration:none;font-family:var(--fb);font-size:.88rem;font-weight:600;border-radius:100px;border:1px solid rgba(255,255,255,.12);cursor:pointer;transition:.3s;backdrop-filter:blur(10px)}
.btn-s:hover{background:var(--glass-b);border-color:rgba(127,255,202,.3);box-shadow:var(--glow)}


/* ================================================================
   5. LANGUAGE TOGGLE UI
   ================================================================ */
.lt{display:flex;align-items:center;gap:3px;background:rgba(255,255,255,.05);border-radius:100px;padding:3px}
.lt span{padding:5px 13px;border-radius:100px;font-size:.78rem;font-weight:600;cursor:pointer;color:var(--t3);transition:.2s}
.lt span.on{background:var(--mint);color:#000}


/* ================================================================
   6. NAVIGATION — glass morphism, fixed header
   ================================================================ */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:transparent;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.03);transition:.3s}
nav.scrolled{background:rgba(10,10,10,0.18);border-bottom-color:rgba(255,255,255,.05);box-shadow:0 8px 32px rgba(0,0,0,.1)}
.nav-i{display:flex;align-items:center;justify-content:space-between;height:90px;width:100%;padding:0 clamp(24px,4vw,64px)}
.nav-logo img{height:32px;filter:brightness(0) invert(1)}
.nav-l{display:flex;align-items:center;gap:24px;list-style:none}
.nav-l a{text-decoration:none;color:var(--t2);font-size:.85rem;font-weight:500;transition:.2s;position:relative}
.nav-l a:hover{color:var(--t1)}
.nav-l a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--mint);transition:.3s}
.nav-l a:hover::after{width:100%}


/* ================================================================
   7. NAVIGATION DROPDOWNS
   ================================================================ */
.has-dd{position:relative}
.dd{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:14px;min-width:220px;opacity:0;visibility:hidden;transition:opacity .18s;pointer-events:none;z-index:300}
.dd-inner{background:rgba(15,15,15,.75);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:6px;box-shadow:0 8px 32px rgba(0,0,0,.4),0 1px 0 rgba(255,255,255,.06) inset}
.has-dd:hover .dd{opacity:1;visibility:visible;pointer-events:auto}
.dd a{display:block;padding:10px 14px;border-radius:10px;color:var(--t2);font-size:.84rem;font-weight:500;text-decoration:none;transition:.15s;white-space:nowrap}
.dd a:hover{background:rgba(255,255,255,.07);color:var(--t1)}
.dd-sep{height:1px;background:var(--border);margin:4px 6px}
.caret{display:inline-block;font-size:.6rem;opacity:.65;margin-left:4px;transition:transform .2s;line-height:1;vertical-align:middle}
.has-dd:hover .caret{transform:rotate(180deg);opacity:.9}


/* ================================================================
   8. MOBILE NAVIGATION
   ================================================================ */
.mob-btn{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:0 0;border:0}
.mob-btn span{display:block;width:22px;height:1.5px;background:var(--t1);transition:.3s}
.mob-menu{display:none;position:fixed;top:90px;left:0;right:0;bottom:0;background:var(--bg);padding:40px 24px;z-index:999;overflow-y:auto}
.mob-menu.open{display:flex;flex-direction:column;gap:16px}
.mob-menu a{font-size:1.2rem;font-family:var(--fd);font-weight:600;text-decoration:none;color:var(--t1)}
.mob-menu a.sub{font-size:.95rem;padding-left:16px;color:var(--t3);font-weight:500}
@media(max-width:900px){.nav-l{display:none}.mob-btn{display:flex}}


/* ================================================================
   9. THEME TOGGLE
   ================================================================ */
.theme-btn{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center;transition:.2s;padding:0;color:var(--t2)}
.theme-btn:hover{background:rgba(255,255,255,.12);color:var(--t1)}


/* ================================================================
   10. PAGE HERO (.pg-hero) — used by all sub-pages
   ================================================================ */
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.sec-head{margin-bottom:48px;text-align:center}
.pg-section .slbl{display:flex;justify-content:center}
.pg-hero{padding:160px 0 100px;background:var(--bg);position:relative;overflow:hidden}
.pg-hero + .pg-section{padding-top:48px;border-top:none}
.pg-hero::before{content:'';position:absolute;top:-200px;right:-100px;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(127,255,202,.06) 0%,transparent 60%);pointer-events:none}
.pg-hero::after{content:'';position:absolute;bottom:-150px;left:-100px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(93,230,173,.03) 0%,transparent 60%);pointer-events:none}
.pg-hero .inner,.pg-hero .ctn{position:relative;z-index:1;text-align:center}
.pg-hero .pg-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;background:var(--mint-d);border:1px solid rgba(127,255,202,.2);border-radius:100px;font-size:.75rem;font-weight:700;color:var(--mint);margin-bottom:28px;text-transform:uppercase;letter-spacing:.1em}
.pg-hero h1{font-family:var(--fd);font-size:clamp(2.8rem,5.5vw,4.8rem);font-weight:800;line-height:1.04;letter-spacing:-.04em;margin-bottom:20px}
.hero-tagline{font-size:1rem;font-weight:600;color:var(--mint);margin-bottom:20px;margin-top:0;letter-spacing:-.01em}
.pg-hero p.ph-sub{font-size:1.1rem;line-height:1.75;color:var(--t2);max-width:620px;margin:0 auto 40px;font-weight:400}
.pg-hero-btns,.hero-btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}


/* ================================================================
   11. HOMEPAGE HERO (.hero)
   ================================================================ */
.hero{padding:160px 0 130px;position:relative;overflow:hidden}
.hero .ctn{max-width:1200px;margin:0 auto;padding:0 40px 0 80px}
.hero::before{content:'';position:absolute;top:-300px;right:-200px;width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(127,255,202,.07) 0%,transparent 55%);pointer-events:none;animation:heroGlow 8s ease-in-out infinite alternate}
.hero::after{content:'';position:absolute;bottom:-200px;left:-150px;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(93,230,173,.04) 0%,transparent 60%);pointer-events:none;animation:heroGlow 10s ease-in-out infinite alternate-reverse}
@keyframes heroGlow{0%{opacity:.5;transform:scale(1)}100%{opacity:1;transform:scale(1.2)}}
.hero .grain{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");opacity:.3;pointer-events:none}

.hero-g{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:1}

.hero-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;background:rgba(127,255,202,.06);border:1px solid rgba(127,255,202,.2);border-radius:100px;font-size:.8rem;font-weight:600;color:var(--mint);margin-bottom:32px;animation:fiu .6s ease forwards;backdrop-filter:blur(10px)}
.hero-tag .dot{width:6px;height:6px;background:var(--mint);border-radius:50%;animation:pulse 2s ease infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.8)}}

.hero h1{font-family:var(--fd);font-size:clamp(3.4rem,6.5vw,5.8rem);font-weight:800;line-height:1.02;letter-spacing:-.05em;margin-bottom:26px;animation:fiu .6s ease .1s forwards;opacity:0}
.hero h1 .hl{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero p.sub{font-size:1.2rem;line-height:1.75;color:var(--t2);max-width:480px;margin-bottom:40px;animation:fiu .6s ease .2s forwards;opacity:0;font-weight:400}
.hero .hero-btns{animation:fiu .6s ease .3s forwards;opacity:0}

/* Floating notification badge */
.hero-notif{position:absolute;top:0;right:0;z-index:10;background:var(--bg3);padding:14px 20px;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.5);border:1px solid var(--border);display:flex;align-items:center;gap:10px;animation:nfloat 3.5s ease-in-out infinite}
@keyframes nfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.hero-notif .dot{width:8px;height:8px;background:var(--mint);border-radius:50%;box-shadow:0 0 12px var(--mint)}
.hero-notif span{font-size:.82rem;font-weight:600}

@media(max-width:900px){
  .hero-g{grid-template-columns:1fr;text-align:center}
  .hero .ctn{padding:0 24px}
  .hero p.sub{margin:0 auto 36px}
  .hero .hero-btns{justify-content:center}
  .hero-vis{height:340px}
  .hcard{width:170px;height:280px;padding:20px 18px 18px}
  .hcard-1{left:5%;top:10px}.hcard-2{left:35%;top:55px}
  .hero-notif{display:none}
}


/* ================================================================
   12. HOMEPAGE HERO CARDS (.hcard)
   ================================================================ */
.hero-vis{position:relative;height:500px;perspective:1400px;animation:fir .9s ease .35s forwards;opacity:0}
@keyframes fir{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}

.hcard{position:absolute;width:240px;height:390px;border-radius:24px;padding:28px 24px 24px;overflow:hidden;backface-visibility:hidden;display:flex;flex-direction:column;transition:transform .7s cubic-bezier(.23,1,.32,1),box-shadow .5s}
.hcard .shine{position:absolute;top:0;left:-120%;width:80%;height:100%;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.04) 50%,transparent 80%);animation:cshine 5s ease-in-out infinite}
@keyframes cshine{0%{left:-120%}40%{left:140%}100%{left:140%}}

/* Card 1 — front, dark */
.hcard-1{background:linear-gradient(160deg,#1c1c1c 0%,#0e0e0e 40%,#1a1a1a 100%);top:10px;left:0;z-index:3;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.05) inset;animation:cf1 5s ease-in-out infinite}
@keyframes cf1{0%,100%{transform:translateY(0) rotateY(-6deg) rotateX(3deg)}50%{transform:translateY(-14px) rotateY(-3deg) rotateX(1deg)}}

/* Card 2 — back, mint accent */
.hcard-2{background:linear-gradient(160deg,#0b1f15 0%,#081a10 40%,#0d2519 100%);border:1px solid rgba(127,255,202,.1);top:100px;left:140px;z-index:2;box-shadow:0 40px 90px rgba(0,0,0,.5),0 0 0 1px rgba(127,255,202,.08) inset;animation:cf2 5s ease-in-out infinite}
@keyframes cf2{0%,100%{transform:translateY(0) rotateY(4deg) rotateX(-2deg)}50%{transform:translateY(-10px) rotateY(7deg) rotateX(-4deg)}}

.hcard:hover{z-index:5!important}
.card-stack:hover .hcard-1{animation:none;transform:translateY(-15px) rotateY(-14deg) rotateX(5deg) translateX(-20px)!important;box-shadow:0 50px 100px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.08) inset}
.card-stack:hover .hcard-2{animation:none;transform:translateY(10px) rotateY(12deg) rotateX(-3deg) translateX(40px)!important;box-shadow:0 50px 100px rgba(0,0,0,.7),0 0 0 1px rgba(127,255,202,.15) inset}

/* Card inner elements */
.hcard .c-logo{height:30px;width:auto;max-width:110px;object-fit:contain;filter:brightness(0) invert(1);flex-shrink:0;align-self:flex-start}
.hcard .c-chip{width:48px;height:36px;background:linear-gradient(135deg,#8a8a8a,#e0e0e0 50%,#8a8a8a);border-radius:8px;position:relative;flex-shrink:0;margin:auto 14px auto auto;transform:translateY(-52px) rotate(90deg)}
.hcard .c-chip::after{content:'';position:absolute;inset:3px;border:1px solid rgba(0,0,0,.15);border-radius:5px}
.hcard .c-num{font-family:var(--fb);font-size:.85rem;letter-spacing:.16em;color:rgba(255,255,255,.55);margin-bottom:12px;font-weight:300;flex-shrink:0}
.hcard .c-bot{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
.hcard .c-name{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.50)}
.hcard .c-mc{height:28px}


/* ================================================================
   13. PARTNERS STRIP
   ================================================================ */
.partners{padding:50px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg2)}
.partners .lbl{text-align:center;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--t3);margin-bottom:28px}
.p-logos{display:flex;align-items:center;justify-content:center;gap:56px;flex-wrap:wrap}
.p-logos img{height:36px;opacity:.50;transition:.3s;filter:brightness(0) invert(1)}
.p-logos img:hover{opacity:.85}
.p-logos img.color-logo{filter:none;opacity:.60}
.p-logos img.color-logo:hover{opacity:.9}
@media(max-width:600px){.p-logos{gap:28px}.p-logos img{height:24px}}


/* ================================================================
   14. SOLUTIONS BENTO GRID (.sol-card)
   ================================================================ */
.solutions{padding:120px 0;background:var(--bg)}
.solutions .slbl{display:flex;justify-content:center}
.solutions h2{font-family:var(--fd);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin-bottom:56px;text-align:center}
.sol-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
.sol-card{flex:0 1 calc(33.333% - 14px);background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:24px;padding:36px 32px;transition:.35s;position:relative;overflow:hidden;cursor:default}
.sol-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}
.sol-card:hover{border-color:rgba(127,255,202,.2);box-shadow:var(--glow);transform:translateY(-4px)}
.sol-card h3{font-family:var(--fd);font-size:1.1rem;font-weight:700;letter-spacing:-.02em;margin-bottom:10px}
.sol-card p{font-size:.88rem;line-height:1.65;color:var(--t2)}
@media(max-width:900px){.sol-card{flex:0 1 calc(50% - 10px)}}
@media(max-width:560px){.sol-card{flex:0 1 100%}}


/* ================================================================
   15. TECH SECTION (Bespoke / Express cards)
   ================================================================ */
.tech{padding:130px 0;background:url('Others Logo/gradient grain 4.jpg') center/cover no-repeat;border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.tech .tc{border-color:rgba(255,255,255,.15)}
.tech .ctn h2,.tech .ctn h3,.tech .ctn p,.tech .ctn li,.tech .ctn .slbl{color:#fff!important}
.tech .ctn .tc ul li{color:rgba(255,255,255,.8)!important}
.tech::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 20%,rgba(127,255,202,.04) 0%,transparent 50%),radial-gradient(ellipse at 20% 80%,rgba(181,168,130,.03) 0%,transparent 50%);pointer-events:none;z-index:2}
.tech .ctn{position:relative;z-index:3}
.tech-hd{text-align:center;max-width:700px;margin:0 auto 64px;position:relative;z-index:1}
.tech-hd h2{font-family:var(--fd);font-size:clamp(2.4rem,4.5vw,3.6rem);font-weight:800;line-height:1.08;letter-spacing:-.04em;margin-bottom:18px}
.tech-hd p{font-size:1.1rem;line-height:1.75;color:var(--t2)}
.tech-g{display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative;z-index:1}

/* Tech card (glass) */
.tc{background:rgba(255,255,255,0.10);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:28px;padding:48px;transition:.4s;position:relative;overflow:hidden}
.tc::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}
.tc:hover{border-color:rgba(127,255,202,.2);transform:translateY(-6px);box-shadow:var(--glow)}
.tc .tag{display:inline-block;padding:6px 16px;border-radius:100px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:24px}
.tc.be .tag{background:var(--grad);color:#000}
.tc.ex .tag{background:linear-gradient(135deg,#B5A882,#d4c9a8);color:#000}
.tc h3{font-family:var(--fd);font-size:1.6rem;font-weight:800;margin-bottom:14px;letter-spacing:-.03em}
.tc p{color:var(--t2);line-height:1.75;margin-bottom:24px;font-size:.95rem}
.tc ul{list-style:none;margin-bottom:32px}
.tc ul li{padding:8px 12px;color:var(--t2);font-size:.88rem;display:flex;align-items:center;gap:10px;border-radius:10px;transition:.2s;margin-bottom:4px}
.tc ul li:hover{background:var(--glass-b);color:var(--t1)}
.tc ul li::before{content:'✓';background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;font-size:.9rem;flex-shrink:0}
@media(max-width:768px){.tech-g{grid-template-columns:1fr}}


/* ================================================================
   16. REVENUE / STATS
   ================================================================ */
.revenue{padding:130px 0;background:var(--bg);position:relative;overflow:hidden}
.revenue::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(127,255,202,.03) 0%,transparent 65%);pointer-events:none}
.rev-g{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:1}
.rev-txt h2{font-family:var(--fd);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:800;line-height:1.08;letter-spacing:-.04em;margin-bottom:22px}
.rev-txt p{font-size:1.05rem;line-height:1.75;color:var(--t2);margin-bottom:36px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.stc{background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:22px;padding:32px 24px;text-align:center;transition:.35s;position:relative;overflow:hidden}
.stc::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}
.stc:hover{transform:translateY(-4px);border-color:rgba(127,255,202,.2);box-shadow:var(--glow)}
.stc .num{font-family:var(--fd);font-size:clamp(2.4rem,4vw,3rem);font-weight:800;line-height:1;margin-bottom:8px;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stc .num .m{-webkit-text-fill-color:transparent}
.stc .dsc{font-size:.82rem;color:var(--t2);font-weight:500}
@media(max-width:900px){.rev-g{grid-template-columns:1fr;gap:48px}}


/* ================================================================
   17. STEPS TIMELINE (homepage 5-step)
   ================================================================ */
.steps{padding:130px 0;background:var(--bg2);border-top:1px solid var(--border)}
.steps h2{font-family:var(--fd);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:800;text-align:center;margin-bottom:80px;letter-spacing:-.04em}
.st-g{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;position:relative}
.st-g::before{content:'';position:absolute;top:38px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--mint),var(--mint2),transparent);opacity:.25}
.stp{text-align:center;position:relative;z-index:1;padding:0 8px}
.stp-wrap{width:76px;height:76px;border-radius:50%;background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(127,255,202,.18);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;transition:.35s;position:relative}
.stp-wrap:hover{border-color:rgba(127,255,202,.5);box-shadow:var(--glow);transform:scale(1.08)}
.stp-num{font-family:var(--fd);font-size:1.5rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stp h4{font-family:var(--fd);font-size:.9rem;font-weight:700;margin-bottom:8px;letter-spacing:-.01em}
.stp p{font-size:.78rem;color:var(--t2);line-height:1.6}
@media(max-width:900px){.st-g{grid-template-columns:1fr 1fr;gap:32px}.st-g::before{display:none}}
@media(max-width:500px){.st-g{grid-template-columns:1fr}}


/* ================================================================
   18. CLIENTS MARQUEE
   ================================================================ */
.clients{padding:100px 0;background:var(--bg);overflow:hidden;border-top:1px solid var(--border)}
.clients .shdr{text-align:center;margin-bottom:56px}
.clients h2{font-family:var(--fd);font-size:clamp(2rem,3.5vw,2.8rem);font-weight:700;margin-bottom:14px}
.clients .shdr p{font-size:1rem;color:var(--t2)}
.marquee-wrap{position:relative;width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee-track{display:flex;align-items:center;gap:80px;animation:marq 25s linear infinite;width:max-content}
.marquee-track img{height:44px;width:140px;object-fit:contain;opacity:1;transition:.3s;flex-shrink:0;filter:brightness(0) invert(1)}
.marquee-track img:hover{opacity:.8}
.marquee-track img.sovera-logo{/* handled in light mode */}
.marquee-wrap:hover .marquee-track{animation-play-state:paused}
@keyframes marq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}


/* ================================================================
   19. BLOG GRID
   ================================================================ */
.blog{padding:130px 0;background:var(--bg2);border-top:1px solid var(--border)}
.blog h2{font-family:var(--fd);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:800;margin-bottom:56px;letter-spacing:-.04em}
.bl-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.blc{background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:24px;overflow:hidden;transition:.4s;cursor:pointer;text-decoration:none;color:inherit;display:block}
.blc:hover{transform:translateY(-6px);box-shadow:var(--glow);border-color:rgba(127,255,202,.2)}
.blc-img{height:180px;background:linear-gradient(135deg,rgba(127,255,202,.04),rgba(93,230,173,.02));position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border)}
.blc-img::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(127,255,202,.06) 0%,transparent 70%)}
.blc-img .ico{font-size:3rem;opacity:.5;filter:drop-shadow(0 0 20px rgba(127,255,202,.3))}
.blc-bd{padding:26px}
.blc-bd .tg{display:inline-block;padding:4px 12px;background:rgba(127,255,202,.08);border:1px solid rgba(127,255,202,.15);border-radius:100px;font-size:.7rem;font-weight:600;color:var(--mint);margin-bottom:12px}
.blc-bd h3{font-family:var(--fd);font-size:1.05rem;font-weight:700;line-height:1.3;margin-bottom:10px}
.blc-bd p{font-size:.85rem;color:var(--t2);line-height:1.6}
@media(max-width:900px){.bl-g{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.bl-g{grid-template-columns:1fr}}


/* ================================================================
   19b. ARTICLE BODY (rendered markdown content)
   ================================================================ */
.article-body{max-width:760px;margin:0 auto;font-size:1.05rem;line-height:1.85;color:var(--t1)}
.article-body h1{font-family:var(--fd);font-size:clamp(2rem,4vw,2.8rem);font-weight:800;letter-spacing:-.04em;line-height:1.12;margin:48px 0 20px}
.article-body h2{font-family:var(--fd);font-size:clamp(1.4rem,3vw,1.9rem);font-weight:700;letter-spacing:-.03em;line-height:1.15;margin:44px 0 16px}
.article-body h3{font-family:var(--fd);font-size:1.2rem;font-weight:700;letter-spacing:-.02em;margin:36px 0 12px}
.article-body h4{font-family:var(--fd);font-size:1rem;font-weight:700;margin:28px 0 10px}
.article-body p{margin-bottom:20px;color:var(--t2)}
.article-body strong{color:var(--t1);font-weight:700}
.article-body ul,.article-body ol{margin:0 0 24px 24px;color:var(--t2)}
.article-body li{margin-bottom:8px;line-height:1.7}
.article-body li::marker{color:var(--mint)}
.article-body blockquote{border-left:3px solid var(--mint);padding:16px 24px;margin:28px 0;background:var(--glass);border-radius:0 12px 12px 0;color:var(--t2);font-style:italic}
.article-body table{width:100%;border-collapse:collapse;margin:28px 0;font-size:.9rem}
.article-body th,.article-body td{padding:12px 16px;border-bottom:1px solid var(--border);text-align:left}
.article-body th{font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mint);background:var(--glass)}
.article-body td{color:var(--t2)}
.article-body a{color:var(--mint);text-decoration:underline;text-underline-offset:3px;transition:.2s}
.article-body a:hover{color:var(--t1)}
.article-body hr{border:none;border-top:1px solid var(--border);margin:40px 0}
.article-body>h1:first-child{display:none}

@media(max-width:600px){
  .article-body{font-size:.97rem}
  .article-body h1{font-size:1.6rem}
  .article-body h2{font-size:1.3rem}
  .article-body ul,.article-body ol{margin-left:16px}
}


/* ================================================================
   20. CTA SECTION
   ================================================================ */
.cta{padding:160px 0;background:var(--bg);text-align:center;position:relative;overflow:hidden;border-top:1px solid var(--border)}
.cta-vid-wrap{position:absolute;inset:0;z-index:0;overflow:hidden}
.cta-vid{position:absolute;top:50%;left:50%;width:100%;height:100%;min-width:100%;min-height:100%;transform:translate(-50%,-50%);object-fit:cover;opacity:1}
.cta-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(3,3,3,.5) 0%,rgba(3,3,3,.35) 50%,rgba(3,3,3,.5) 100%);z-index:1}
.cta::before{content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:1200px;height:1000px;border-radius:50%;background:radial-gradient(circle,rgba(127,255,202,.06) 0%,transparent 50%);pointer-events:none;z-index:2}
.cta::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(127,255,202,.015) 50%,transparent 100%);pointer-events:none;z-index:2}
.cta h2{font-family:var(--fd);font-size:clamp(2.8rem,6vw,5rem);font-weight:800;line-height:1.05;letter-spacing:-.05em;margin-bottom:24px;position:relative;z-index:3}
.cta p.ct-sub{font-size:1.15rem;color:var(--t2);max-width:500px;margin:0 auto 44px;position:relative;z-index:3;line-height:1.7}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;z-index:3}
.mc-bdg{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:40px;position:relative;z-index:3}
.mc-bdg img{height:30px}
.mc-bdg span{font-size:.8rem;color:var(--t3);font-weight:500}


/* ================================================================
   21. BIN SPONSORSHIP SECTION
   ================================================================ */
.bin-sp{padding:120px 0;background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.bin-g{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.bin-txt h2{font-family:var(--fd);font-size:clamp(2rem,3.8vw,3rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin-bottom:16px}
.bin-txt>p{font-size:1rem;line-height:1.75;color:var(--t2);margin-bottom:32px}
.bin-feat{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-bottom:36px;padding:0}
.bin-feat li{display:flex;align-items:flex-start;gap:9px;font-size:.86rem;color:var(--t2);line-height:1.5}
.bin-feat li::before{content:'✓';color:var(--mint);font-weight:700;flex-shrink:0;margin-top:1px}
.bin-vis{display:flex;align-items:center;justify-content:center}

/* BIN card visual */
.bin-card{width:100%;max-width:420px;background:url('Others Logo/grain gradient 1.jpg') center/cover no-repeat;border:1px solid rgba(127,255,202,.12);border-radius:24px;padding:40px;position:relative;overflow:hidden}
.bin-card::before{content:'';position:absolute;top:-80px;right:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(127,255,202,.06) 0%,transparent 65%);pointer-events:none}
.bin-card-tag{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#008f63;margin-bottom:20px;display:block}
.bin-card-title{font-family:var(--fd);font-size:1.35rem;font-weight:700;margin-bottom:8px;color:#000}
.bin-card-sub{font-size:.84rem;color:rgba(0,0,0,.70);margin-bottom:28px;line-height:1.6}
.bin-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px;align-content:flex-start}
.bin-badge{padding:5px 13px;border-radius:100px;background:rgba(0,0,0,.07);border:1px solid rgba(0,0,0,.15);font-size:.76rem;font-weight:600;color:#000;line-height:1.4}
.bin-divider{height:1px;background:rgba(0,0,0,.1);margin-bottom:24px}
.bin-steps-mini{display:flex;flex-direction:column;gap:10px}
.bin-step-mi{display:flex;align-items:center;gap:12px;font-size:.83rem;color:rgba(0,0,0,.70)}
.bin-step-mi .dot-mi{width:6px;height:6px;border-radius:50%;background:var(--mint);flex-shrink:0}
@media(max-width:900px){.bin-g{grid-template-columns:1fr;gap:48px}.bin-feat{grid-template-columns:1fr}}


/* ================================================================
   22. GLOBAL PRESENCE / MAP
   ================================================================ */
.global{padding:120px 0;background:var(--bg);overflow:hidden;position:relative}
.global::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(127,255,202,.03) 0%,transparent 70%);pointer-events:none}
.global-hd{text-align:center;margin-bottom:64px}
.global-hd h2{font-family:var(--fd);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:700;letter-spacing:-.02em;margin-bottom:14px}
.global-hd p{color:var(--t2);font-size:1rem;max-width:520px;margin:0 auto 32px;line-height:1.7}
.global-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:60px}
.gs-card{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:40px 28px;text-align:center;transition:.3s;position:relative;overflow:hidden}
.gs-card:hover{border-color:rgba(127,255,202,.25);background:var(--bg3)}
.gs-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(127,255,202,.04) 0%,transparent 60%);pointer-events:none}
.gs-num{font-family:var(--fd);font-size:clamp(2.8rem,5vw,4.2rem);font-weight:800;color:var(--mint);letter-spacing:-.03em;line-height:1;margin-bottom:10px}
.gs-lbl{font-size:.88rem;color:var(--t2);line-height:1.5;font-weight:500}

/* Map */
.global-map-wrap{position:relative;max-width:860px;margin:0 auto 48px;background:var(--bg2);border:1px solid var(--border);border-radius:24px;overflow:hidden}
.global-map-wrap::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(127,255,202,.08) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;z-index:0}
.map-bg{display:block;width:100%;height:auto;opacity:.9;position:relative;z-index:0}
.map-dots{position:absolute;inset:0;z-index:1}
.map-dot{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--mint);transform:translate(-50%,-50%)}
.map-dot::before{content:'';position:absolute;inset:-4px;border-radius:50%;background:var(--mint);opacity:.15;animation:mpulse 2.5s ease-in-out infinite}
.map-dot::after{content:'';position:absolute;inset:-8px;border-radius:50%;background:var(--mint);opacity:.06;animation:mpulse 2.5s ease-in-out infinite .5s}
@keyframes mpulse{0%,100%{transform:scale(.8);opacity:.15}50%{transform:scale(2);opacity:0}}
.map-dot .ml{position:absolute;top:-19px;left:50%;transform:translateX(-50%);font-size:.48rem;font-weight:700;color:var(--t1);white-space:nowrap;background:var(--bg3);padding:1px 5px;border-radius:4px;border:1px solid var(--border)}
.map-line{position:absolute;background:linear-gradient(90deg,transparent,rgba(127,255,202,.2),transparent);height:1px;transform-origin:left center;animation:mlglow 3s ease-in-out infinite}
@keyframes mlglow{0%,100%{opacity:0}40%,60%{opacity:1}}

/* Country tags */
.countries-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.ctag{padding:8px 18px;border-radius:100px;background:var(--bg2);border:1px solid var(--border);font-size:.8rem;font-weight:600;color:var(--t2);display:flex;align-items:center;gap:6px;transition:.2s}
.ctag:hover{border-color:rgba(127,255,202,.3);color:var(--t1)}
@media(max-width:768px){.global-stats{grid-template-columns:1fr 1fr}.map-dots{height:140px}}
@media(max-width:480px){.global-stats{grid-template-columns:1fr}}


/* ================================================================
   23. NEWSROOM
   ================================================================ */
.newsroom{padding:120px 0;background:var(--bg2)}
.news-g{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.news-card{background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:14px;transition:.3s;text-decoration:none;color:inherit}
.news-card:hover{border-color:var(--border2);transform:translateY(-5px);box-shadow:0 24px 60px rgba(0,0,0,.35)}
.news-pub{display:flex;align-items:center;justify-content:space-between}
.news-outlet{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--mint)}
.news-date{font-size:.73rem;color:var(--t3)}
.news-card h3{font-family:var(--fd);font-size:1.05rem;font-weight:700;line-height:1.35;color:var(--t1)}
.news-card p{font-size:.84rem;color:var(--t2);line-height:1.65;flex:1}
.news-read{font-size:.8rem;font-weight:600;color:var(--mint);display:flex;align-items:center;gap:6px;margin-top:auto}
.news-read::after{content:'→';transition:transform .2s}
.news-card:hover .news-read::after{transform:translateX(5px)}
@media(max-width:900px){.news-g{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.news-g{grid-template-columns:1fr}}


/* ================================================================
   24. AWARDS STRIP
   ================================================================ */
.awards{padding:29px 0 64px;background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.awards-row{display:flex;align-items:stretch;justify-content:center;flex-wrap:wrap}
.aw-item{display:flex;align-items:center;gap:16px;padding:28px 44px;border-right:1px solid var(--border);flex:1 1 0%;justify-content:center}
.aw-item:last-child{border-right:0}
.aw-icon{width:70px;height:70px;border-radius:14px;background:var(--mint-d);border:1px solid rgba(127,255,202,.18);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;overflow:hidden}
.aw-icon img{width:50px;height:50px;max-width:72%;max-height:72%;object-fit:contain;border-radius:6px;display:block}
.aw-text strong{display:block;font-size:.9rem;font-weight:700;color:var(--t1);font-family:var(--fd);line-height:1.3}
.aw-text span{font-size:.76rem;color:var(--t3)}
@media(max-width:768px){.awards-row{gap:0}.aw-item{flex:1 1 50%;border-right:0;border-bottom:1px solid var(--border);justify-content:flex-start}.aw-item:last-child{border-bottom:0}.aw-item:nth-child(odd){border-right:1px solid var(--border)}}
@media(max-width:480px){.aw-item{flex:1 1 100%}.aw-item:nth-child(odd){border-right:0}}


/* ================================================================
   25. BUILD YOUR SOLUTION OVERLAY (.bys-*)
   ================================================================ */
.bys-overlay{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .25s;display:flex;align-items:center;justify-content:center;padding:20px}
.bys-overlay.open{opacity:1;visibility:visible}
.bys-box{background:var(--bg2);border:1px solid var(--border2);border-radius:28px;width:100%;max-width:1180px;max-height:92vh;overflow-y:auto;padding:48px 48px 40px;position:relative}
.bys-close{position:absolute;top:20px;right:20px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--border);cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center;color:var(--t2);transition:.2s;z-index:1}
.bys-close:hover{background:rgba(255,255,255,.12);color:var(--t1)}
.bys-hd{text-align:center;margin-bottom:40px}
.bys-hd h2{font-family:var(--fd);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;letter-spacing:-.03em;margin-bottom:10px}
.bys-hd p{color:var(--t2);font-size:.95rem;line-height:1.65;max-width:480px;margin:0 auto}

/* Layout: left form + right preview */
.bys-body{display:flex;gap:14px;align-items:stretch}
.bys-left{flex:1;min-width:0}
.bys-grid{display:grid;grid-template-columns:230px 1fr 1fr;gap:14px;align-items:start}
.bys-col{display:flex;flex-direction:column;gap:14px}
.bys-step{background:var(--bg3);border:1px solid var(--border);border-radius:16px;padding:20px 20px 18px;transition:opacity .25s}
.bys-step.disabled{opacity:.32;pointer-events:none}
.bys-step-num{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.bys-step-num em{width:22px;height:22px;border-radius:50%;background:var(--mint-d);border:1px solid rgba(127,255,202,.22);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:.7rem;font-weight:800;color:var(--mint);flex-shrink:0}
.bys-step-num span{font-size:.8rem;font-weight:700;color:var(--t2);font-family:var(--fd)}

/* Pills (single & multi select) */
.bys-pills{display:flex;flex-direction:column;gap:8px}
.bys-pills.row{flex-direction:row;flex-wrap:wrap}
.bys-pill{padding:9px 18px;border-radius:100px;border:1px solid var(--border2);background:transparent;color:var(--t2);font-size:.82rem;font-weight:600;cursor:pointer;transition:.2s;text-align:left;font-family:var(--fb);line-height:1}
.bys-pill:hover:not(.pill-disabled){border-color:rgba(127,255,202,.4);color:var(--t1)}
.bys-pill.sel{background:var(--mint-d);border-color:var(--mint);color:var(--mint)}
.bys-pill.pill-disabled{opacity:.3;cursor:not-allowed;pointer-events:none}
.bys-pills.mod-sel>div{transition:opacity .25s}
.bys-pills.mod-sel>div:has(.bys-pill:not(.sel)){opacity:.3}
.bys-pdesc{font-size:.72rem;color:var(--t3);margin-top:5px;line-height:1.45;padding:0 2px}

/* Contact form (bottom of overlay) */
.bys-foot{margin-top:28px;padding-top:24px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:14px}
.bys-form-row{display:flex;gap:12px;flex-wrap:wrap}
.bys-input{flex:1;min-width:180px;padding:11px 16px;border-radius:12px;border:1px solid var(--border2);background:var(--bg3);color:var(--t1);font-size:.88rem;font-family:var(--fb);outline:none;transition:.2s}
.bys-input:focus{border-color:rgba(127,255,202,.5);box-shadow:0 0 0 3px rgba(127,255,202,.08)}
.bys-input::placeholder{color:var(--t3)}
.bys-input.err{border-color:rgba(255,80,80,.6)!important;box-shadow:0 0 0 3px rgba(255,80,80,.1)!important}
.bys-field-err{font-size:.72rem;color:rgba(255,100,100,.85);margin-top:4px;display:none}
.bys-field-err.show{display:block}
.bys-foot-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}

/* Preview panel — animated sidebar */
.bys-preview{width:0;overflow:hidden;opacity:0;flex-shrink:0;transition:width .4s cubic-bezier(.23,1,.32,1),opacity .35s,padding .4s;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-left:0;background:var(--bg3);border-radius:16px;border:1px solid transparent}
.bys-preview.show{width:260px;opacity:1;padding:24px 20px;border-color:var(--border)}

/* Card mockup (portrait — same proportions as hero cards) */
.bys-pcard{width:170px;height:276px;border-radius:22px;padding:24px 20px 20px;background:linear-gradient(160deg,#1c1c1c 0%,#0e0e0e 40%,#1a1a1a 100%);box-shadow:0 28px 70px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.06) inset;position:relative;overflow:hidden;display:flex;flex-direction:column;flex-shrink:0;animation:cf1 6s ease-in-out infinite}
.bys-pcard .bpc-shine{position:absolute;top:0;left:-120%;width:80%;height:100%;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.04) 50%,transparent 80%);animation:cshine 5s ease-in-out infinite}
.bys-pcard .bpc-logo{height:18px;width:auto;object-fit:contain;filter:brightness(0) invert(1);align-self:flex-start;flex-shrink:0}
.bys-pcard .bpc-chip{width:36px;height:27px;background:linear-gradient(135deg,#8a8a8a,#e0e0e0 50%,#8a8a8a);border-radius:6px;flex-shrink:0;margin:auto 10px auto auto;transform:rotate(90deg)}
.bys-pcard .bpc-chip::after{content:'';position:absolute;inset:3px;border:1px solid rgba(0,0,0,.15);border-radius:3px}
.bys-pcard .bpc-num{font-family:var(--fb);font-size:.72rem;letter-spacing:.16em;color:rgba(255,255,255,.50);font-weight:300;flex-shrink:0;margin-bottom:14px}
.bys-pcard .bpc-bot{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
.bys-pcard .bpc-name{font-size:.6rem;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.55);font-family:var(--fb);font-weight:600;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:all .25s}
.bys-pcard .bpc-mc{height:22px}

/* Wallet mockup */
.bys-pwallet{width:195px;background:var(--bg3);border:1px solid var(--border2);border-radius:28px;padding:24px 20px 22px;display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(0,0,0,.5);flex-shrink:0;overflow:hidden;position:relative}
.bys-pwallet::before{content:'';position:absolute;top:-40px;right:-40px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(127,255,202,.1) 0%,transparent 70%);pointer-events:none}
.bpw-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.bpw-logo{height:28px;width:auto;object-fit:contain;filter:brightness(0) invert(1)}
.bpw-dot{width:8px;height:8px;background:var(--mint);border-radius:50%;box-shadow:0 0 10px var(--mint);animation:pulse 2s ease infinite}
.bpw-lbl{font-size:.62rem;color:var(--t3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px}
.bpw-amount{font-family:var(--fd);font-size:1.6rem;font-weight:800;color:var(--t1);letter-spacing:-.02em;margin-bottom:6px}
.bpw-name{font-size:.62rem;color:var(--mint);font-weight:700;font-family:var(--fb);text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px;min-height:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:all .25s}
.bpw-divider{height:1px;background:var(--border);margin-bottom:16px}
.bpw-actions{display:flex;justify-content:space-around}
.bpw-action{display:flex;flex-direction:column;align-items:center;gap:5px}
.bpw-action-icon{width:38px;height:38px;border-radius:11px;background:var(--mint-d);border:1px solid rgba(127,255,202,.15);display:flex;align-items:center;justify-content:center;font-size:.85rem}
.bpw-action-lbl{font-size:.47rem;color:var(--t3);font-weight:600;text-transform:uppercase;letter-spacing:.05em}

/* Virtual: phone + checkout form */
.bys-phone{width:158px;background:#0c0c0c;border:2px solid rgba(255,255,255,.09);border-radius:26px;padding:14px 13px 14px;display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(0,0,0,.6);position:relative}
.bys-phone-notch{width:34px;height:4px;background:rgba(255,255,255,.12);border-radius:2px;margin:0 auto 13px}
.bco-hd{display:flex;align-items:center;gap:5px;margin-bottom:11px}
.bco-lock{width:17px;height:17px;border-radius:5px;background:var(--mint-d);border:1px solid rgba(127,255,202,.2);display:flex;align-items:center;justify-content:center;font-size:.52rem;flex-shrink:0}
.bco-site{font-size:.53rem;color:var(--t3);font-weight:600;font-family:var(--fb)}
.bco-field{margin-bottom:7px}
.bco-lbl{font-size:.47rem;color:var(--t3);text-transform:uppercase;letter-spacing:.07em;font-weight:600;font-family:var(--fb);margin-bottom:3px}
.bco-inp{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);border-radius:6px;padding:6px 8px;font-size:.59rem;color:rgba(255,255,255,.55);font-family:var(--fb);letter-spacing:.08em;width:100%;box-sizing:border-box}
.bco-inp.bco-highlight{color:var(--mint);font-weight:700;font-size:.54rem;letter-spacing:.06em}
.bco-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:7px}
.bco-pay-btn{width:100%;padding:7px;border-radius:7px;background:var(--grad);border:none;color:#000;font-size:.59rem;font-weight:800;font-family:var(--fb);cursor:default;margin-top:5px;letter-spacing:.03em}

/* Both view: landscape card + phone stacked */
.bys-both-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}
.bys-pcard-land{width:172px;height:109px;border-radius:14px;padding:13px 15px 11px;background:linear-gradient(160deg,#1c1c1c 0%,#0e0e0e 40%,#1a1a1a 100%);box-shadow:0 16px 40px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.05) inset;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0}
.bys-pcard-land .bpl-shine{position:absolute;top:0;left:-120%;width:80%;height:100%;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.04) 50%,transparent 80%);animation:cshine 5s ease-in-out infinite}
.bys-pcard-land .bpl-logo{height:12px;width:auto;object-fit:contain;filter:brightness(0) invert(1);align-self:flex-start}
.bys-pcard-land .bpl-mid{display:flex;align-items:center;gap:6px}
.bys-pcard-land .bpl-chip{width:18px;height:14px;background:linear-gradient(135deg,#8a8a8a,#e0e0e0 50%,#8a8a8a);border-radius:3px}
.bys-pcard-land .bpl-num{font-family:var(--fb);font-size:.49rem;letter-spacing:.1em;color:rgba(255,255,255,.50);font-weight:300}
.bys-pcard-land .bpl-bot{display:flex;justify-content:space-between;align-items:center}
.bys-pcard-land .bpl-name{font-size:.46rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.55);font-family:var(--fb);font-weight:600;max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:all .25s}
.bys-pcard-land .bpl-mc{height:11px}

/* BYS responsive */
@media(max-width:900px){.bys-preview{display:none}}
@media(max-width:760px){.bys-grid{grid-template-columns:1fr}.bys-box{padding:32px 24px 28px}.bys-form-row{flex-direction:column}}


/* ================================================================
   26. CONTENT SECTIONS (.pg-section, .pg-cta) — sub-pages
   ================================================================ */
.pg-section{padding:100px 0}
.pg-section.alt{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.pg-section h2{font-family:var(--fd);font-size:clamp(2rem,3.8vw,3rem);font-weight:800;line-height:1.1;letter-spacing:-.04em;margin-bottom:18px;text-align:center}
.pg-section .sec-intro,.pg-section .section-intro{font-size:1.05rem;line-height:1.75;color:var(--t2);max-width:720px;margin:0 auto 64px;text-align:center}
.pg-cta{padding:120px 0;text-align:center;background:var(--bg2);border-top:1px solid var(--border);position:relative;overflow:hidden}
.pg-cta::before{content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:800px;height:800px;border-radius:50%;background:radial-gradient(circle,rgba(127,255,202,.05) 0%,transparent 55%);pointer-events:none}
.pg-cta h2{font-family:var(--fd);font-size:clamp(2rem,4vw,3.2rem);font-weight:800;letter-spacing:-.04em;margin-bottom:16px;position:relative;z-index:1}
.pg-cta p{font-size:1rem;color:var(--t2);max-width:480px;margin:0 auto 40px;line-height:1.7;position:relative;z-index:1}
.pg-cta .cta-btns,.pg-cta .pg-hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}


/* ================================================================
   27. FEATURE GRID (.feat-grid / .feat-card)
   ================================================================ */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feat-card{background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:24px;padding:36px 32px;transition:.35s;position:relative;overflow:hidden}
.feat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}
.feat-card:hover{border-color:rgba(127,255,202,.2);box-shadow:var(--glow);transform:translateY(-4px)}
.feat-icon,.fc-icon{font-size:2rem;margin-bottom:18px;display:block}
.feat-card h3{font-family:var(--fd);font-size:1.05rem;font-weight:700;letter-spacing:-.02em;margin-bottom:10px}
.feat-card p{font-size:.88rem;line-height:1.65;color:var(--t2)}
@media(max-width:900px){.feat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.feat-grid{grid-template-columns:1fr}}


/* ================================================================
   28. FEATURE CARD LISTS (checkmark lists inside feat-cards)
   Used in: bespoke.html, express.html
   ================================================================ */
.feat-card ul{list-style:none;margin-top:14px;margin-bottom:10px}
.feat-card ul li{font-size:.82rem;color:var(--t2);padding:5px 0;display:flex;align-items:flex-start;gap:8px;line-height:1.45}
.feat-card ul li::before{content:'✓';color:var(--mint);font-weight:700;flex-shrink:0}
.feat-card .use-cases{font-size:.75rem;color:var(--t3);margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.feat-card .use-cases strong{color:var(--t2);display:block;margin-bottom:4px}


/* ================================================================
   29. COMPARISON TABLES (.cmp-table)
   Used in: bin-sponsorship.html, express.html, documentation.html
   ================================================================ */
.cmp-wrap{overflow-x:auto;margin-top:40px;border-radius:16px;border:1px solid var(--border)}
.cmp-table{width:100%;border-collapse:collapse;font-size:.875rem}
.cmp-table th,.cmp-table td{padding:14px 18px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.cmp-table thead th{background:var(--glass);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mint)}
.cmp-table thead th:first-child{color:var(--t2)}
.cmp-table thead small{display:block;font-size:.72rem;font-weight:400;text-transform:none;letter-spacing:0;opacity:.7;margin-top:4px}
.cmp-table tbody tr:last-child td{border-bottom:none}
.cmp-table tbody tr:nth-child(even){background:rgba(255,255,255,.02)}
.cmp-table tbody td:first-child{font-weight:600;color:var(--t1);white-space:nowrap;min-width:160px}
.cmp-table tbody td{color:var(--t2);line-height:1.55}
.cmp-table tbody tr:hover td{background:var(--glass)}
.cmp-table .cmp-pros td{background:rgba(127,255,202,.06)}
.cmp-table .cmp-pros td:first-child{color:var(--mint)}


/* ================================================================
   30. USE CASES LIST (.uc-list)
   ================================================================ */
.uc-list{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:40px;list-style:none;padding:0}
.uc-item{display:flex;align-items:flex-start;gap:14px;padding:24px;background:var(--glass);border:1px solid var(--border);border-radius:18px;transition:.3s;flex:0 1 calc(50% - 8px);min-width:260px}
.uc-item:hover{border-color:rgba(127,255,202,.2);box-shadow:var(--glow)}
.uc-item-icon{font-size:1.8rem;flex-shrink:0;line-height:1}
.uc-item-body{flex:1}
.uc-item h4,.uc-item h3{font-family:var(--fd);font-size:.95rem;font-weight:700;margin-bottom:6px}
.uc-item p{font-size:.83rem;color:var(--t2);line-height:1.6}
@media(max-width:700px){.uc-item{flex:1 1 100%}}


/* ================================================================
   31. STEPS TIMELINE (.steps-row) — sub-pages
   ================================================================ */
.steps-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;margin-top:56px}
.steps-row::before{content:'';position:absolute;top:32px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--mint),var(--mint2),transparent);opacity:.2}
.step-item,.step{text-align:center;padding:0 8px;position:relative;z-index:1}
.step-num{width:64px;height:64px;border-radius:50%;background:var(--glass);backdrop-filter:blur(20px);border:1px solid rgba(127,255,202,.2);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-family:var(--fd);font-size:1.3rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}
.step-num-wrap{width:64px;height:64px;border-radius:50%;background:var(--glass);backdrop-filter:blur(20px);border:1px solid rgba(127,255,202,.2);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;transition:.3s}
.step-num-wrap:hover{border-color:rgba(127,255,202,.5);box-shadow:var(--glow)}
.step-num-wrap span{font-family:var(--fd);font-size:1.3rem;font-weight:800;color:var(--mint2);-webkit-text-fill-color:var(--mint2)}
.step-item h4{font-family:var(--fd);font-size:.95rem;font-weight:700;margin-bottom:8px}
.step-item p{font-size:.82rem;color:var(--t2);line-height:1.6}
@media(max-width:768px){.steps-row{grid-template-columns:1fr 1fr;gap:28px}.steps-row::before{display:none}}
@media(max-width:480px){.steps-row{grid-template-columns:1fr}}


/* ================================================================
   32. CONTACT FORM
   ================================================================ */
.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;padding:100px 0;align-items:start;max-width:960px;margin:0 auto}
.contact-form{background:var(--glass);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:28px;padding:48px}
.form-group{margin-bottom:22px}
.form-group label{display:block;font-size:.8rem;font-weight:700;color:var(--t2);margin-bottom:8px;text-transform:uppercase;letter-spacing:.08em}
.form-group input,.form-group select,.form-group textarea{width:100%;background:var(--bg2);border:1px solid var(--border2);border-radius:12px;padding:13px 16px;color:var(--t1);font-family:var(--fb);font-size:.9rem;outline:none;transition:.2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:rgba(127,255,202,.4);box-shadow:0 0 0 3px rgba(127,255,202,.06)}
.form-group textarea{min-height:130px;resize:vertical}
.form-group select{appearance:none;cursor:pointer}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-info{padding-top:20px}
.contact-info h3{font-family:var(--fd);font-size:1.2rem;font-weight:700;margin-bottom:24px;letter-spacing:-.02em}
.ci-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}
.ci-icon{width:40px;height:40px;border-radius:12px;background:var(--mint-d);border:1px solid rgba(127,255,202,.15);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.ci-item h4{font-size:.85rem;font-weight:700;margin-bottom:4px}
.ci-item p,.ci-item a{font-size:.83rem;color:var(--t2);text-decoration:none;line-height:1.5}
.ci-item a:hover{color:var(--mint)}
.form-success{display:none;text-align:center;padding:40px;color:var(--mint)}
.form-success .check{font-size:3rem;margin-bottom:16px;display:block}
.form-success p{color:var(--t2);font-size:.95rem}
.form-error{display:none;text-align:center;padding:20px;color:#ff6b6b;background:rgba(255,107,107,.06);border:1px solid rgba(255,107,107,.2);border-radius:12px;margin-top:16px;font-size:.88rem}
.form-error a{color:#ff6b6b;text-decoration:underline}
.btn-loading{opacity:.6;pointer-events:none}
.recaptcha-notice{font-size:.7rem;color:var(--t3);margin-top:12px;text-align:center}
.recaptcha-notice a{color:var(--t3);text-decoration:underline}
@media(max-width:800px){.contact-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}}


/* ================================================================
   33. GALLERY & LIGHTBOX (About page)
   ================================================================ */
.story-block{max-width:760px;margin:0 auto 64px}
.story-block p{font-size:1rem;line-height:1.8;color:var(--t2);margin-bottom:20px}
.partner-row{display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap;margin-top:48px}

/* Awards section override (about page — always dark text on gradient bg) */
.awards-section .slbl,.awards-section h2,.awards-section h3,.awards-section p{color:#000!important;-webkit-text-fill-color:#000!important}
.awards-section .feat-card{background:rgba(255,255,255,.25);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}

/* Photo gallery marquee */
.photo-gallery{padding:80px 0;overflow:hidden;background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.gallery-marquee-wrap{position:relative;width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.gallery-marquee-track{display:flex;gap:16px;animation:marq 30s linear infinite;width:max-content}
.gallery-marquee-wrap:hover .gallery-marquee-track{animation-play-state:paused}
.gallery-photo{width:380px;height:250px;border-radius:16px;background-size:cover;background-position:center;flex-shrink:0;border:1px solid var(--border);transition:transform .3s cubic-bezier(.23,1,.32,1),box-shadow .3s,border-color .3s;cursor:zoom-in}
.gallery-photo:hover{transform:scale(1.04);box-shadow:0 12px 40px rgba(0,0,0,.4);border-color:rgba(127,255,202,.3);z-index:10;position:relative}

/* Lightbox modal */
.glb{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.glb.open{opacity:1;pointer-events:all}
.glb-bg{position:absolute;inset:0;background:rgba(3,3,3,.88);backdrop-filter:blur(12px);cursor:zoom-out}
.glb-img{position:relative;z-index:1;max-width:90vw;max-height:88vh;border-radius:16px;object-fit:contain;box-shadow:0 40px 120px rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.08);transform:scale(.96);transition:transform .35s cubic-bezier(.23,1,.32,1)}
.glb.open .glb-img{transform:scale(1)}


/* ================================================================
   34. FOOTER
   ================================================================ */
footer{padding:72px 0 36px;background:#020202;border-top:1px solid var(--border)}
.ft-g{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr 1fr 1fr;gap:36px;margin-bottom:56px}
.ft-br img{height:44px;filter:brightness(0) invert(1);margin:0 24px 20px 0;display:block}
.ft-br p{font-size:.85rem;color:var(--t3);line-height:1.7;max-width:240px;margin-bottom:20px}
.ft-bk{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.ft-bk img{height:22px;filter:brightness(0) invert(1);opacity:.50}
.ft-bk .color-logo,.ft-bk img[style*="filter:none"]{filter:none!important}
.ft-soc{display:flex;gap:10px}
.ft-soc a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.04);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--t2);text-decoration:none;font-size:.85rem;transition:.3s}
.ft-soc a:hover{background:var(--mint);color:#000;border-color:var(--mint)}
.ft-col h4{font-family:var(--fd);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px;color:var(--t2)}
.ft-col a{display:block;color:var(--t3);text-decoration:none;font-size:.82rem;padding:5px 0;transition:.2s}
body.es .ft-col a[data-lang="es"]{display:block!important}
.ft-col a:hover{color:var(--mint)}
.ft-bot{border-top:1px solid var(--border);padding-top:28px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:28px}
.ft-reg{display:flex;align-items:flex-start;gap:14px;flex:1}
.ft-reg img{height:44px;filter:brightness(0) invert(1);opacity:.50}
.ft-reg p{font-size:.68rem;color:rgba(255,255,255,.50);line-height:1.6;max-width:680px}
.ft-cp{font-size:.75rem;color:var(--t3);text-align:center;margin-top:28px}
@media(max-width:1100px){.ft-g{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px}}
@media(max-width:768px){.ft-g{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.ft-g{grid-template-columns:1fr}}


/* ================================================================
   35. SCROLLBAR
   ================================================================ */
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:10px}


/* ================================================================
   36. ACCESSIBILITY
   ================================================================ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}


/* ================================================================
   37. LIGHT MODE OVERRIDES
   ================================================================ */
body.light{
  --bg:#f8f8f8;--bg2:#f0f0f0;--bg3:#e8e8e8;--bg4:#e0e0e0;
  --border:rgba(0,0,0,0.06);--border2:rgba(0,0,0,0.1);
  --mint:#008f63;--mint-d:rgba(0,143,99,.1);--mint-dd:rgba(0,143,99,.04);
  --t1:#0d0d0d;--t2:rgba(13,13,13,.72);--t3:rgba(13,13,13,.55);
}

/* Steps */
body.light .stp-wrap{border-color:rgba(0,143,99,.3);background:rgba(0,143,99,.06)}
body.light .stp-num{background:none;-webkit-background-clip:unset;background-clip:unset;-webkit-text-fill-color:var(--mint);color:var(--mint)}
body.light .step-num-wrap{border-color:rgba(0,143,99,.3);background:rgba(0,143,99,.06)}
body.light .step-num-wrap span{color:var(--mint);-webkit-text-fill-color:var(--mint)}

/* Navigation */
body.light nav{background:transparent;border-bottom-color:rgba(0,0,0,.03)}
body.light nav.scrolled{background:rgba(255,255,255,.3);border-bottom-color:rgba(0,0,0,.05);box-shadow:0 8px 32px rgba(0,0,0,.04)}
body.light .dd-inner{background:rgba(255,255,255,.82);border-color:rgba(0,0,0,.08);box-shadow:0 8px 32px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.95) inset}
body.light .dd a:hover{background:rgba(0,0,0,.06)}
body.light .mob-menu{background:var(--bg)}
body.light .mob-btn span{background:var(--t1)}

/* Buttons */
body.light .btn-s{border-color:rgba(0,0,0,.14)}
body.light .btn-s:hover{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.25)}
body.light .btn-m{color:#fff!important}
body.light .btn-m:hover{background:#00b87e}

/* Language & theme toggles */
body.light .lt{background:rgba(0,0,0,.07)}
body.light .lt span.on{background:var(--mint);color:#fff}
body.light .theme-btn{border-color:rgba(0,0,0,.12);background:rgba(0,0,0,.04);color:var(--t2)}
body.light .theme-btn:hover{background:rgba(0,0,0,.09);color:var(--t1)}

/* Footer */
body.light footer{background:#ececec}
body.light .ft-bk img,body.light .ft-reg img{filter:brightness(0);opacity:.55}
body.light .ft-soc a{background:rgba(0,0,0,.04)}
body.light .nav-logo img,body.light .ft-br img{filter:none}
body.light .ft-reg p{color:rgba(0,0,0,.6)}

/* Cards & hover states */
body.light .feat-card:hover,body.light .uc-item:hover{box-shadow:0 12px 40px rgba(0,0,0,.12)}
body.light .news-card:hover{box-shadow:0 16px 48px rgba(0,0,0,.12)}
body.light .tc{background:rgba(255,255,255,0.65)}

/* Tech section — always white text on gradient bg */
body.light .tech .ctn h2,body.light .tech .ctn h3,body.light .tech .ctn p,body.light .tech .ctn li,body.light .tech .ctn .slbl{color:#fff!important}
body.light .tech .ctn .tc ul li{color:rgba(255,255,255,.8)!important}
body.light .tech .tc{background:rgba(0,0,0,0.20);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-color:rgba(255,255,255,.15)}

/* Clients marquee */
body.light .marquee-track img{filter:none;opacity:.70}
body.light .marquee-track img:hover{opacity:1}
body.light .marquee-track img.sovera-logo{filter:brightness(0);opacity:.70}
body.light .marquee-track img.sovera-logo:hover{opacity:1}
body.light .map-bg{opacity:.7}

/* CTA */
body.light .cta-overlay{background:linear-gradient(to bottom,rgba(255,255,255,.6) 0%,rgba(255,255,255,.45) 50%,rgba(255,255,255,.6) 100%)}

/* Tables */
body.light .cmp-table th{background:var(--bg3)}
body.light .cmp-table tbody tr:nth-child(even){background:rgba(0,0,0,.02)}
body.light .cmp-table .cmp-pros td{background:rgba(0,143,99,.06)}

/* BYS overlay */
body.light .bys-phone{background:#f2f2f2;border-color:rgba(0,0,0,.1)}
body.light .bco-inp{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.08);color:rgba(0,0,0,.60)}
body.light .bco-inp.bco-highlight{color:#008f63}
body.light .bys-box{background:var(--bg2)}
body.light .bys-step{background:var(--bg)}
body.light .bys-pill.sel{color:#008f63}
body.light .bys-input{background:var(--bg2);border-color:var(--border2)}
body.light .bys-pwallet{background:var(--bg2)}

/* Contact form */
body.light .form-group input,body.light .form-group select,body.light .form-group textarea{background:var(--bg3);color:var(--t1);border-color:var(--border2)}
body.light .form-error{background:rgba(220,53,69,.06);border-color:rgba(220,53,69,.2)}

/* Scrollbar */
body.light ::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12)}


/* ================================================================
   39. MOBILE RESPONSIVE ENHANCEMENTS
   ================================================================ */

/* ── Tablet (≤900px) — section padding reduction ─────────────── */
@media(max-width:900px){
  .hero{padding:120px 0 90px}
  .hero .ctn{padding:0 24px}
  .solutions{padding:80px 0}
  .solutions h2{margin-bottom:36px}
  .tech{padding:80px 0}
  .tech-hd{margin-bottom:40px}
  .revenue{padding:80px 0}
  .steps{padding:80px 0}
  .steps h2{margin-bottom:48px}
  .clients{padding:60px 0}
  .clients .shdr{margin-bottom:36px}
  .blog{padding:80px 0}
  .blog h2{margin-bottom:36px}
  .cta{padding:100px 0}
  .bin-sp{padding:80px 0}
  .global{padding:80px 0}
  .global-hd{margin-bottom:40px}
  .newsroom{padding:80px 0}
  .pg-section{padding:64px 0}
  .pg-cta{padding:80px 0}
  .contact-grid{padding:64px 0;gap:40px}
  .marquee-track{gap:48px}
  .aw-item{padding:20px 24px}
}

/* ── Small mobile (≤600px) — tighter spacing + font scaling ──── */
@media(max-width:600px){
  .hero{padding:100px 0 70px}
  .hero h1{font-size:clamp(2.4rem,10vw,3.4rem)}
  .hero p.sub{font-size:1rem}
  .solutions{padding:60px 0}
  .tech{padding:60px 0}
  .tc{padding:28px 22px}
  .tc h3{font-size:1.2rem}
  .revenue{padding:60px 0}
  .rev-g{gap:36px}
  .steps{padding:60px 0}
  .steps h2{margin-bottom:36px}
  .clients{padding:48px 0}
  .blog{padding:60px 0}
  .cta{padding:72px 0}
  .bin-sp{padding:60px 0}
  .bin-card{padding:28px}
  .global{padding:60px 0}
  .newsroom{padding:60px 0}
  .news-g{margin-top:36px}
  .pg-section{padding:48px 0}
  .pg-cta{padding:60px 0}
  .contact-grid{padding:48px 0;gap:32px}
  .contact-form{padding:28px 22px}
  .marquee-track{gap:32px}
  .marquee-track img{height:36px;width:110px}
  .sol-card{padding:28px 22px}
  .feat-card{padding:28px 22px}
  .stc{padding:22px 16px}
  .news-card{padding:24px}
  .mob-menu a{font-size:1.05rem}
  .mob-menu a.sub{font-size:.88rem}
  .mob-menu{padding:28px 20px}
  .aw-item{padding:16px 20px}
  .aw-icon{width:52px;height:52px}
  .story-block{margin-bottom:40px}
  .partner-row{gap:28px}
  .gallery-photo{width:280px;height:185px}
  .photo-gallery{padding:48px 0}
  .pg-hero h1{font-size:clamp(2rem,8vw,3rem)}
  .pg-hero p.ph-sub{font-size:.95rem}

  /* Stats grid: 1 column on small mobile */
  .stats{grid-template-columns:1fr}
}

/* ── Extra-small (≤400px) — minimal padding ──────────────────── */
@media(max-width:400px){
  .ctn,.inner{padding:0 16px}
  .hero .ctn{padding:0 16px}
  .sol-card{padding:22px 18px;min-width:0}
  .feat-card{padding:22px 18px}
  .tc{padding:24px 18px}
  .bys-box{padding:24px 16px 22px}
  .bin-card{padding:22px}
}

/* ── Comparison table responsive ─────────────────────────────── */
@media(max-width:768px){
  .cmp-wrap{margin-left:-24px;margin-right:-24px;border-radius:0;border-left:0;border-right:0}
  .cmp-table{font-size:.8rem}
  .cmp-table th,.cmp-table td{padding:10px 12px}
  .cmp-table tbody td:first-child{min-width:120px}
}
