/* ================================================================
   Cronos Financial — Shared styles for legal/help/secondary pages
   Matches the v3 brand identity: typography, nav, footer.
   ================================================================ */

@font-face{
  font-family:'Power Grotesk';
  src:url('/assets/fonts/PowerGrotesk-Variable.woff2') format('woff2-variations'),
      url('/assets/fonts/PowerGrotesk-Variable.woff2') format('woff2');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
em,i{font-style:normal}
:root{
  --negro:#202125;
  --azul-noche:#272D4F;
  --azul:#3C4884;
  --lav:#7B88D4;
  --lav2:#B0B5DB;
  --ora:#F37229;
  --ora2:#B45527;
  --tierra:#743718;
  --crema:#F8F6F2;
  --arena:#DDD7D3;
  --piedra:#B6ACA6;
  --grafito:#7C7A7A;
  --txt:#1A1A2E;
  --grad-brand:linear-gradient(135deg,#272D4F 0%,#3C4884 40%,#F37229 100%);
  --grad-brand-dark:linear-gradient(135deg,#0F1226 0%,#272D4F 40%,#3C4884 70%,#B45527 100%);
  --shadow-1:0 4px 16px rgba(32,33,37,.06);
  --shadow-2:0 8px 32px rgba(32,33,37,.12);
}

html{scroll-behavior:smooth}
body{
  font-family:'Power Grotesk',sans-serif;
  font-weight:300;
  background:var(--crema);
  color:var(--txt);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--azul);color:#fff}

/* Util */
.wrap{max-width:1240px;margin:0 auto;padding:0 64px;position:relative}
.wrap-legal{max-width:920px;padding:0 64px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:3.2px;text-transform:uppercase;color:var(--azul);display:inline-flex;align-items:center;gap:10px;margin-bottom:18px}
.eyebrow::before{content:'';width:14px;height:2px;background:var(--ora)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Power Grotesk',sans-serif;font-weight:600;border-radius:5px;text-decoration:none;border:none;cursor:pointer;transition:all .25s cubic-bezier(.2,.7,.2,1);white-space:nowrap;letter-spacing:.01em}
.btn-sm{font-size:13px;padding:10px 20px}
.btn-md{font-size:14px;padding:13px 26px}
.btn-lg{font-size:15px;padding:16px 32px}
.btn-cta{background:var(--ora);color:#fff;box-shadow:0 6px 24px rgba(243,114,42,.32)}
.btn-cta:hover{background:var(--ora2);transform:translateY(-2px);box-shadow:0 12px 36px rgba(243,114,42,.48)}
.btn-ghost-dark{background:transparent;color:var(--azul);border:1.5px solid var(--azul)}
.btn-ghost-dark:hover{background:var(--azul);color:#fff}
.btn-ghost-w{background:rgba(255,255,255,.08);color:#fff;border:1.5px solid rgba(255,255,255,.45);backdrop-filter:blur(8px)}
.btn-ghost-w:hover{background:rgba(255,255,255,.18);border-color:#fff;color:#fff}
.btn-arrow{display:inline-block;transition:transform .25s}
.btn:hover .btn-arrow{transform:translateX(4px)}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;height:78px;display:flex;align-items:center;background:rgba(248,246,242,.85);backdrop-filter:blur(22px) saturate(180%);border-bottom:1px solid rgba(32,33,37,.06);transition:background .3s,box-shadow .3s,height .3s}
nav.scrolled{background:rgba(248,246,242,.96);box-shadow:0 4px 24px rgba(32,33,37,.06);height:68px}
.nav-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1240px;margin:0 auto;padding:0 64px}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--negro)}
.nav-logo-mark{width:36px;height:36px;display:block;object-fit:contain;flex-shrink:0}
.nav-logo-text{font-family:'Power Grotesk',sans-serif;font-weight:600;font-size:19px;letter-spacing:-.01em;color:var(--negro)}
.nav-logo-text span{color:var(--azul)}
.nav-links{display:flex;gap:34px;list-style:none}
.nav-links a{font-size:13.5px;font-weight:500;color:var(--grafito);text-decoration:none;transition:color .2s;position:relative;padding:6px 0}
.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--ora);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav-links a:hover{color:var(--negro)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-right{display:flex;align-items:center;gap:18px}
.nav-login{font-size:13.5px;font-weight:500;color:var(--azul);text-decoration:none;transition:color .2s;padding:6px 4px}
.nav-login:hover{color:var(--ora)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;width:32px;height:32px;flex-direction:column;justify-content:center;gap:4px}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--negro);transition:transform .3s,opacity .3s}

/* LEGAL HERO */
.legal-hero{padding:140px 0 60px;background:var(--crema);border-bottom:1px solid var(--arena);position:relative;overflow:hidden}
.legal-hero::before{content:'';position:absolute;top:-160px;right:-160px;width:480px;height:480px;background:radial-gradient(circle,rgba(60,72,132,.08),transparent 70%);pointer-events:none}
.legal-hero .wrap{position:relative;z-index:1}
.legal-hero h1{font-family:'Power Grotesk',sans-serif;font-size:clamp(36px,5vw,56px);font-weight:600;line-height:1.05;letter-spacing:-.01em;color:var(--negro);margin-bottom:18px;max-width:840px}
.legal-hero h1 span{background:var(--grad-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.legal-hero .subtitle{font-family:'Power Grotesk',sans-serif;font-size:18px;font-style:normal;font-weight:500;color:var(--grafito);margin-bottom:18px;max-width:760px;line-height:1.4}
.legal-meta{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--grafito);padding:6px 14px;border:1px solid var(--arena);background:#fff;border-radius:100px;margin-top:8px}
.legal-meta strong{font-weight:600;color:var(--negro)}
.legal-meta svg{width:13px;height:13px;stroke:var(--azul);fill:none;stroke-width:2}

/* LEGAL CONTENT TYPOGRAPHY */
.legal-content{padding:72px 0 120px;background:var(--crema)}
.legal-body{background:#fff;border:1px solid var(--arena);border-radius:14px;padding:64px 72px;box-shadow:var(--shadow-1);font-size:15px;line-height:1.78;color:var(--txt)}
.legal-body > *:first-child{margin-top:0}
.legal-body h2{font-family:'Power Grotesk',sans-serif;font-size:26px;font-weight:600;color:var(--negro);margin:48px 0 16px;letter-spacing:-.005em;line-height:1.2}
.legal-body h2 .num{display:inline-block;font-family:'Power Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:1.6px;color:var(--ora);text-transform:uppercase;margin-right:10px;vertical-align:middle}
.legal-body h3{font-family:'Power Grotesk',sans-serif;font-size:16px;font-weight:700;color:var(--azul);margin:28px 0 10px;letter-spacing:.01em;text-transform:uppercase;font-size:12px;letter-spacing:1.6px}
.legal-body h4{font-family:'Power Grotesk',sans-serif;font-size:15px;font-weight:600;color:var(--negro);margin:24px 0 8px}
.legal-body p{margin-bottom:16px}
.legal-body p strong{color:var(--negro);font-weight:600}
.legal-body ul,.legal-body ol{margin:14px 0 18px 22px}
.legal-body ul li,.legal-body ol li{margin-bottom:8px;padding-left:4px}
.legal-body ul li::marker{color:var(--ora);font-size:.85em}
.legal-body a{color:var(--azul);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color .2s}
.legal-body a:hover{color:var(--ora)}

/* Tables inside legal-body */
.legal-body table{width:100%;border-collapse:separate;border-spacing:0;margin:24px 0;border:1px solid var(--arena);border-radius:8px;overflow:hidden;font-size:14px}
.legal-body table th{background:var(--azul-noche);color:#fff;font-family:'Power Grotesk',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;padding:14px 18px;text-align:left}
.legal-body table td{padding:14px 18px;border-top:1px solid var(--arena);color:var(--txt);vertical-align:top}
.legal-body table tbody tr:nth-child(even) td{background:var(--crema)}
.legal-body table td:first-child{font-weight:500;color:var(--negro)}

/* Callouts inside legal-body */
.legal-body .callout{margin:24px 0;padding:20px 24px;background:linear-gradient(135deg,rgba(60,72,132,.04),rgba(176,181,219,.08));border-left:3px solid var(--ora);border-radius:0 6px 6px 0;font-size:14.5px;color:var(--negro)}
.legal-body .callout strong{color:var(--azul-noche);font-weight:700}
.legal-body .callout-warn{margin:24px 0;padding:18px 22px;background:rgba(243,114,42,.06);border:1px dashed rgba(243,114,42,.4);border-radius:8px;font-size:13.5px;color:var(--ora2)}

/* Field grid (key-value) — used for UNE etc. */
.field-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:0;border:1px solid var(--arena);border-radius:8px;overflow:hidden;margin:24px 0;background:#fff}
.field-grid > *{padding:18px 24px;border-bottom:1px solid var(--arena);font-size:14.5px}
.field-grid > *:nth-last-child(-n+2){border-bottom:none}
.field-grid > .label{font-size:12.5px;font-weight:700;color:var(--azul);background:var(--crema);letter-spacing:.01em}
.field-grid > .value{color:var(--negro);font-weight:500}
.field-grid > .value a{font-weight:500}
@media (max-width:640px){.field-grid{grid-template-columns:1fr}.field-grid > *{padding:14px 18px}.field-grid > .label{padding-bottom:4px;border-bottom:none}.field-grid > .value{padding-top:6px;border-bottom:1px solid var(--arena)}}

/* Comisiones rate table — wider, more breathing room */
.rate-table-wrap{overflow-x:auto;margin:24px 0}

/* FAQ inside legal pages */
.faq-list{display:flex;flex-direction:column;gap:12px;margin:32px 0}
.faq-item{border:1px solid var(--arena);border-radius:8px;overflow:hidden;background:#fff;transition:all .25s}
.faq-item:hover{border-color:rgba(60,72,132,.4);box-shadow:var(--shadow-1)}
.faq-item.open{border-color:var(--azul);box-shadow:0 8px 28px rgba(60,72,132,.12)}
.faq-q{width:100%;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:transparent;border:none;cursor:pointer;text-align:left;font-family:'Power Grotesk',sans-serif;font-size:14.5px;font-weight:500;color:var(--negro);transition:color .2s;line-height:1.4}
.faq-q:hover{color:var(--azul)}
.faq-q-icon{flex-shrink:0;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--azul);display:flex;align-items:center;justify-content:center;transition:all .3s;color:var(--azul)}
.faq-item.open .faq-q-icon{background:var(--azul);color:#fff;transform:rotate(180deg)}
.faq-q-icon svg{width:11px;height:11px;stroke-width:2.4;fill:none;stroke:currentColor}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;font-size:14px;font-weight:300;color:var(--grafito);line-height:1.75;padding:0 22px}
.faq-a > *{padding-bottom:18px}
.faq-item.open .faq-a{max-height:1200px}

/* Sticky TOC for long docs */
.legal-with-toc{display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:start;max-width:1240px;margin:0 auto;padding:0 64px}
.legal-with-toc .legal-body{padding:48px 56px}
.legal-toc{position:sticky;top:96px;background:#fff;border:1px solid var(--arena);border-radius:10px;padding:22px 20px;box-shadow:var(--shadow-1);font-size:13px;max-height:calc(100vh - 120px);overflow-y:auto}
.legal-toc h4{font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--azul);margin-bottom:14px}
.legal-toc ol{list-style:none;margin:0;padding:0}
.legal-toc ol li{margin-bottom:9px;padding-left:24px;position:relative;line-height:1.45}
.legal-toc ol li > .toc-num{position:absolute;left:0;top:0;font-size:10px;font-weight:700;color:var(--ora);font-family:'Power Grotesk',sans-serif;letter-spacing:.5px}
.legal-toc ol li a{color:var(--grafito);text-decoration:none;transition:color .2s;font-weight:500;font-size:12.5px}
.legal-toc ol li a:hover{color:var(--azul)}
.legal-toc ol li a.active{color:var(--azul-noche);font-weight:700}
@media (max-width:980px){.legal-with-toc{grid-template-columns:1fr;gap:24px;padding:0 24px}.legal-toc{position:static;max-height:none;margin-bottom:0}}

/* CTA Block at bottom of legal pages */
.legal-cta{margin-top:40px;padding:36px 40px;background:var(--grad-brand-dark);border-radius:12px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.legal-cta-text h3{font-family:'Power Grotesk',sans-serif;font-size:22px;font-weight:600;color:#fff;margin-bottom:6px;line-height:1.25}
.legal-cta-text p{font-size:14px;color:rgba(255,255,255,.75);max-width:520px;margin:0}

/* Placeholder for content pending */
.content-pending{margin:24px 0;padding:24px 28px;background:repeating-linear-gradient(45deg,rgba(243,114,42,.05),rgba(243,114,42,.05) 10px,rgba(243,114,42,.08) 10px,rgba(243,114,42,.08) 20px);border:1.5px dashed var(--ora);border-radius:8px;font-size:14px;color:var(--ora2)}
.content-pending strong{display:block;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;font-size:11px;margin-bottom:8px;color:var(--ora2)}
.content-pending a{color:var(--ora2);font-weight:600}

/* FOOTER */
footer{background:var(--negro);color:rgba(255,255,255,.7);padding:80px 64px 32px;position:relative}
.footer-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:2.2fr 1fr 1.6fr;gap:64px;margin-bottom:24px}
.footer-brand .nav-logo-text{color:#fff;font-size:22px}
.footer-brand .nav-logo-mark{width:44px;height:44px}
.footer-brand p{font-size:13.5px;color:rgba(255,255,255,.5);line-height:1.75;max-width:340px;margin:18px 0 22px}
.footer-col h4{font-family:'Power Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:var(--lav2);margin-bottom:18px}
.footer-col a,.footer-col span{display:block;font-size:13.5px;color:rgba(255,255,255,.55);text-decoration:none;margin-bottom:10px;transition:color .2s;line-height:1.55}
.footer-col a:hover{color:#fff}
.footer-col-contact a,.footer-col-contact .footer-line{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:13.5px;color:rgba(255,255,255,.65);text-decoration:none;line-height:1.55}
.footer-col-contact a:hover{color:#fff}
.footer-col-contact svg{flex-shrink:0;width:15px;height:15px;opacity:.6}
.footer-regulators{max-width:1240px;margin:0 auto;padding:48px 0 36px;display:flex;justify-content:center;align-items:center;gap:64px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.06)}
.footer-regulator{display:inline-flex;align-items:center;justify-content:center;height:56px;padding:0 24px;text-decoration:none;color:rgba(255,255,255,.42);transition:color .25s,transform .25s;filter:grayscale(100%);opacity:.75}
.footer-regulator:hover{color:rgba(255,255,255,.85);opacity:1;transform:translateY(-2px)}
.footer-regulator svg{display:block;height:100%;width:auto;max-width:160px}
.footer-legal{max-width:1240px;margin:0 auto;padding:32px 0;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:rgba(255,255,255,.45);line-height:1.75}
.footer-legal p{margin-bottom:14px;max-width:1100px}
.footer-legal a{color:rgba(255,255,255,.6);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.footer-bottom{max-width:1240px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:rgba(255,255,255,.42);flex-wrap:wrap;gap:16px}
.footer-bottom-links{display:flex;gap:24px;flex-wrap:wrap}
.footer-bottom-links a{color:rgba(255,255,255,.42);text-decoration:none;transition:color .2s}
.footer-bottom-links a:hover{color:#fff}

/* Responsive */
@media (max-width:1080px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:48px}
}
@media (max-width:768px){
  .wrap,.wrap-legal{padding:0 24px}
  .nav-inner{padding:0 24px}
  .nav-links,.nav-right .btn,.nav-login{display:none}
  .nav-toggle{display:flex}
  .legal-body{padding:36px 24px}
  .legal-hero{padding:120px 0 48px}
  .footer-grid{grid-template-columns:1fr;gap:40px}
  footer{padding:60px 24px 24px}
  .legal-cta{padding:24px;flex-direction:column;align-items:flex-start}
}

/* ================================================================
   PRODUCT PAGES — Propulso, Simple, Ritmo
   ================================================================ */

/* Product hero — full-bleed gradient with stats card */
.product-hero{position:relative;overflow:hidden;padding:160px 0 100px;color:#fff;background:var(--grad-brand-dark)}
.product-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 10%,rgba(243,114,42,.18),transparent 55%),radial-gradient(ellipse at 80% 80%,rgba(123,136,212,.22),transparent 55%);pointer-events:none;z-index:0}
.product-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);z-index:0;opacity:.5}
.product-hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .85fr;gap:64px;align-items:center}
.product-hero .eyebrow{color:var(--lav2)}
.product-hero .eyebrow::before{background:var(--ora)}
.product-hero h1{font-family:'Power Grotesk',sans-serif;font-size:clamp(38px,5.4vw,60px);font-weight:600;line-height:1.05;letter-spacing:-.02em;color:#fff;margin-bottom:22px;max-width:700px}
.product-hero h1 em{font-style:normal;color:var(--lav2)}
.product-hero h1 .accent{background:linear-gradient(135deg,#fff 30%,var(--lav2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.product-hero .lede{font-size:18px;font-weight:300;color:rgba(255,255,255,.78);line-height:1.7;max-width:560px;margin-bottom:36px}
.product-hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.product-hero .btn-ghost-w{background:rgba(255,255,255,.08);color:#fff;border:1.5px solid rgba(255,255,255,.45);backdrop-filter:blur(8px)}
.product-hero .btn-ghost-w:hover{background:rgba(255,255,255,.18);border-color:#fff}

/* Stats card on hero */
.product-stats{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:36px 32px;backdrop-filter:blur(14px);box-shadow:0 24px 64px rgba(0,0,0,.32)}
.product-stats h3{font-family:'Power Grotesk',sans-serif;font-size:22px;font-weight:500;color:#fff;margin-bottom:24px;line-height:1.25}
.product-stats-row{display:flex;flex-direction:column;gap:18px}
.product-stat{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1)}
.product-stat:last-child{border-bottom:none;padding-bottom:0}
.product-stat-key{font-size:11.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--lav2);max-width:120px;line-height:1.4}
.product-stat-val{font-family:'Power Grotesk',sans-serif;font-size:24px;font-weight:500;color:#fff;line-height:1.1;text-align:right}
.product-stat-val small{display:block;font-family:'Power Grotesk',sans-serif;font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:4px}

.product-hero-emblem{display:flex;align-items:center;justify-content:center;padding:24px}
.product-hero-emblem img{width:100%;max-width:560px;height:auto;object-fit:contain;filter:drop-shadow(0 28px 56px rgba(0,0,0,.4));animation:emblemFloat 6s ease-in-out infinite}
@keyframes emblemFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

.product-hero-emblems{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px;width:100%;padding:24px 0}
.product-hero-emblems .hero-emblem{width:78%;max-width:260px;height:auto;object-fit:contain;filter:drop-shadow(0 18px 36px rgba(0,0,0,.4));will-change:transform}
.product-hero-emblems .hero-emblem-1{animation:embFloat 7s ease-in-out infinite}
.product-hero-emblems .hero-emblem-2{animation:embFloat 8s ease-in-out infinite .6s}
.product-hero-emblems .hero-emblem-3{animation:embFloat 9s ease-in-out infinite 1.2s}
@keyframes embFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media (max-width:980px){
  .product-hero-emblems{flex-direction:row;flex-wrap:wrap;gap:20px}
  .product-hero-emblems .hero-emblem{width:28%;max-width:180px}
}

@media (max-width:980px){
  .product-hero{padding:120px 0 64px}
  .product-hero .wrap{grid-template-columns:1fr;gap:48px}
  .product-hero-emblem img{max-width:280px}
}

/* Section scaffolding */
.product-section{padding:120px 0;border-top:1px solid var(--arena);background:#fff}
.product-section-alt{background:var(--crema)}
.product-section-dark{background:var(--negro);color:#fff;border-top:none}
.product-section-dark h2.sec-title{color:#fff}
.section-header{max-width:760px;margin:0 auto 64px;text-align:center}
.section-header.left{text-align:left;margin-left:0}
.section-header .eyebrow{display:inline-flex}
.section-header .sec-lead{margin:0 auto;color:var(--grafito)}
.section-header.left .sec-lead{margin-left:0}
.product-section-dark .section-header .sec-lead{color:rgba(255,255,255,.7)}
h2.sec-title{font-family:'Power Grotesk',sans-serif;font-size:clamp(32px,4.4vw,48px);font-weight:600;line-height:1.15;letter-spacing:-.005em;color:var(--negro);margin-bottom:18px}
h2.sec-title em{font-style:normal;font-weight:500}
h2.sec-title .accent{background:var(--grad-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.product-section-dark h2.sec-title .accent{background:linear-gradient(135deg,#fff,var(--lav2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Steps row — 3 numbered steps */
.steps-row{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative}
.steps-row::before{content:'';position:absolute;top:42px;left:14%;right:14%;height:2px;background:linear-gradient(90deg,var(--azul),var(--lav),var(--ora));opacity:.2;z-index:0}
.step{position:relative;z-index:1;text-align:center;padding:0 16px}
.step-num{width:84px;height:84px;border-radius:50%;background:#fff;border:2px solid var(--azul);display:inline-flex;align-items:center;justify-content:center;margin-bottom:24px;font-family:'Power Grotesk',sans-serif;font-weight:600;font-size:32px;color:var(--azul);box-shadow:var(--shadow-1);transition:all .35s}
.product-section-dark .step-num{background:var(--azul-noche);border-color:var(--lav)}
.step:nth-child(2) .step-num{border-color:var(--lav);color:var(--lav)}
.step:nth-child(3) .step-num{border-color:var(--ora);color:var(--ora)}
.step:hover .step-num{transform:scale(1.06);background:var(--azul);color:#fff}
.step:nth-child(2):hover .step-num{background:var(--lav)}
.step:nth-child(3):hover .step-num{background:var(--ora)}
.step h3{font-family:'Power Grotesk',sans-serif;font-size:22px;font-weight:600;margin-bottom:12px;line-height:1.2;color:var(--negro)}
.product-section-dark .step h3{color:#fff}
.step p{font-size:14.5px;color:var(--grafito);line-height:1.7;max-width:300px;margin:0 auto}
.product-section-dark .step p{color:rgba(255,255,255,.65)}
@media (max-width:980px){.steps-row{grid-template-columns:1fr;gap:48px}.steps-row::before{display:none}}

/* Benefits grid — 4 cards */
.benefits-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:8px}
.benefit{padding:32px 28px;background:#fff;border:1px solid var(--arena);border-radius:10px;transition:all .35s cubic-bezier(.2,.7,.2,1)}
.benefit:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(60,72,132,.14);border-color:transparent}
.benefit-icon{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,rgba(243,114,42,.12),rgba(180,85,39,.06));color:var(--ora);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.benefit h3{font-family:'Power Grotesk',sans-serif;font-size:19px;font-weight:600;line-height:1.25;color:var(--negro);margin-bottom:10px}
.benefit p{font-size:14px;color:var(--grafito);line-height:1.65}
@media (max-width:980px){.benefits-4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.benefits-4{grid-template-columns:1fr}}

/* Scenarios grid (Propulso) — 3 cards with day timeline */
.scenarios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.scenarios-grid-2{grid-template-columns:repeat(2,1fr);gap:28px;max-width:980px;margin-left:auto;margin-right:auto}
.scenario-prose{font-size:15.5px;line-height:1.7;color:rgba(255,255,255,.88);margin:0}
.scenario-steps{list-style:none;counter-reset:step;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.scenario-steps li{position:relative;padding-left:46px;font-size:15px;line-height:1.55;color:rgba(255,255,255,.92);counter-increment:step}
.scenario-steps li::before{content:counter(step);position:absolute;left:0;top:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ora);color:#fff;font-family:'Power Grotesk',sans-serif;font-weight:700;font-size:14px;line-height:1}
.scenario{background:var(--azul-noche);border-radius:14px;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 48px rgba(0,0,0,.24)}
.scenario-header{padding:22px 26px;background:linear-gradient(135deg,var(--ora),var(--ora2));color:#fff}
.scenario:nth-child(2) .scenario-header{background:linear-gradient(135deg,var(--lav),var(--azul))}
.scenario:nth-child(3) .scenario-header{background:linear-gradient(135deg,#3C4884,#272D4F)}
.scenario-header strong{display:block;font-family:'Power Grotesk',sans-serif;font-size:19px;font-weight:600;line-height:1.2}
.scenario-header span{display:block;font-size:11.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;opacity:.85;margin-top:4px}
.scenario-body{padding:28px 26px;display:flex;flex-direction:column;gap:22px}
.scenario-step{display:grid;grid-template-columns:60px 1fr;gap:14px;align-items:flex-start}
.scenario-step-day{font-family:'Power Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;padding:5px 10px;background:rgba(243,114,42,.18);color:var(--ora);border-radius:100px;text-align:center;width:fit-content;min-width:50px}
.scenario:nth-child(2) .scenario-step-day{background:rgba(123,136,212,.22);color:var(--lav2)}
.scenario:nth-child(3) .scenario-step-day{background:rgba(60,72,132,.36);color:var(--lav2)}
.scenario-step-content{display:flex;flex-direction:column}
.scenario-step-label{font-size:13px;font-weight:600;color:#fff;margin-bottom:4px}
.scenario-step-amount{font-family:'Power Grotesk',sans-serif;font-size:30px;font-weight:600;color:#fff;line-height:1;margin-bottom:6px}
.scenario .scenario-step:nth-child(1) .scenario-step-amount{color:rgba(255,255,255,.7)}
.scenario-step-note{font-size:12px;color:rgba(255,255,255,.55);line-height:1.5;font-style:normal}
@media (max-width:980px){.scenarios-grid{grid-template-columns:1fr}}

/* Vertical cards (Ritmo) — 3 sub-products */
.verticals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.vertical{position:relative;border-radius:14px;padding:36px 32px;background:#fff;border:1px solid var(--arena);overflow:hidden;transition:all .35s cubic-bezier(.2,.7,.2,1)}
.vertical:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(60,72,132,.2);border-color:transparent}
.vertical-img{height:160px;border-radius:10px;background:var(--grad-brand-dark);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);margin-bottom:24px;position:relative;overflow:hidden}
.vertical-img::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(243,114,42,.32),transparent 60%);pointer-events:none}
.vertical-img svg{width:72px;height:72px;position:relative;z-index:1}
.vertical-img-emblem{background:transparent;height:auto;min-height:160px;padding:8px 0}
.vertical-img-emblem::after{display:none}
.vertical-img-emblem img{max-width:64%;max-height:160px;object-fit:contain;position:relative;z-index:1}
.vertical-tag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--ora2);margin-bottom:12px;padding:5px 12px;border-radius:100px;background:rgba(243,114,42,.1);border:1px solid rgba(243,114,42,.22)}
.vertical h3{font-family:'Power Grotesk',sans-serif;font-size:26px;font-weight:600;color:var(--negro);margin-bottom:14px;line-height:1.15}
.vertical-desc{font-size:14.5px;color:var(--grafito);line-height:1.7;margin-bottom:20px;min-height:48px}
.vertical-features{display:flex;flex-direction:column;gap:10px;padding-top:20px;border-top:1px solid var(--arena)}
.vertical-feature{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--negro)}
.vertical-feature svg{width:14px;height:14px;color:var(--ora);flex-shrink:0}
@media (max-width:980px){.verticals-grid{grid-template-columns:1fr}}

/* Example tax-savings cards (Ritmo) */
.examples-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.example{background:#fff;border:1px solid var(--arena);border-radius:12px;padding:32px 28px;position:relative;overflow:hidden}
.example::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--ora),var(--ora2))}
.example-meta{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--arena);font-size:13px}
.example-meta-row{display:flex;justify-content:space-between;gap:16px}
.example-meta-row span:first-child{color:var(--grafito);font-weight:500}
.example-meta-row span:last-child{color:var(--negro);font-weight:600;text-align:right}
.example-savings{text-align:center;padding-top:8px}
.example-savings-label{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--grafito);margin-bottom:6px}
.example-savings-amount{font-family:'Power Grotesk',sans-serif;font-size:34px;font-weight:600;color:var(--ora);line-height:1.1}
@media (max-width:980px){.examples-grid{grid-template-columns:1fr}}

/* Mechanics — Propulso 3-step "how it works" */
.mechanics{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.mech-card{background:#fff;border-radius:14px;padding:36px 28px;text-align:center;position:relative;border:1px solid var(--arena);box-shadow:var(--shadow-1)}
.mech-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--ora),var(--ora2));color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;box-shadow:0 14px 32px rgba(243,114,42,.32);font-family:'Power Grotesk',sans-serif;font-weight:600;font-size:28px;position:relative}
.mech-card:nth-child(2) .mech-icon{background:linear-gradient(135deg,var(--azul),var(--azul-noche));box-shadow:0 14px 32px rgba(60,72,132,.32)}
.mech-card:nth-child(3) .mech-icon{background:linear-gradient(135deg,var(--lav),var(--azul));box-shadow:0 14px 32px rgba(123,136,212,.32)}
.mech-card h3{font-family:'Power Grotesk',sans-serif;font-size:22px;font-weight:600;color:var(--negro);margin-bottom:10px}
.mech-card p{font-size:14px;color:var(--grafito);line-height:1.65}
.mech-arrow{position:absolute;right:-26px;top:62px;width:34px;height:24px;color:var(--ora);z-index:1;display:flex;align-items:center;justify-content:center}
@media (max-width:980px){.mechanics{grid-template-columns:1fr}.mech-arrow{display:none}}

/* Disclaimer block */
.disclaimer{margin-top:32px;padding:18px 24px;background:rgba(60,72,132,.04);border:1px dashed var(--arena);border-radius:8px;font-size:12.5px;color:var(--grafito);line-height:1.6;font-style:normal}
.disclaimer strong{font-weight:600;color:var(--negro);font-style:normal}

/* Final CTA on product pages */
.product-cta-final{position:relative;overflow:hidden;padding:120px 0;text-align:center;color:#fff;background:var(--grad-brand-dark)}
.product-cta-final::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,rgba(123,136,212,.4),transparent 60%);z-index:0}
.product-cta-final .wrap{position:relative;z-index:2}
.product-cta-final .eyebrow{color:var(--ora);justify-content:center;display:inline-flex;margin-bottom:22px}
.product-cta-final h2{color:#fff;font-size:clamp(32px,4.4vw,48px);max-width:740px;margin:0 auto 18px;font-family:'Power Grotesk',sans-serif;font-weight:600;line-height:1.1}
.product-cta-final h2 em{font-style:normal;font-weight:500;color:var(--lav2)}
.product-cta-final p{font-size:17px;font-weight:300;color:rgba(255,255,255,.72);margin:0 auto 36px;max-width:540px;line-height:1.7}
.cta-actions-center{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============================================================
   Animated blob background — reusable for product hero + CTA
   Activated by placing .bg-blobs-wrap + .bg-blobs-filter markup
   ============================================================ */
.bg-blobs-wrap{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.bg-blobs-wrap::after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(135deg,rgba(8,10,22,.72) 0%,rgba(15,20,55,.55) 50%,rgba(8,10,22,.45) 100%);pointer-events:none}
.bg-blobs-filter{position:absolute;inset:0;filter:url(#blob-filter) blur(40px);z-index:1}
.bg-blobs-filter.is-safari{filter:blur(40px)}
.hblob{position:absolute;border-radius:50%;mix-blend-mode:hard-light;width:80%;height:80%;top:calc(50% - 40%);left:calc(50% - 40%);will-change:transform}
.hb1{background:radial-gradient(circle at center,rgba(45,58,124,1) 0,rgba(45,58,124,1) 50%) no-repeat;transform-origin:center center;animation:blobV 30s ease infinite;opacity:1}
.hb2{background:radial-gradient(circle at center,rgba(123,136,212,.8) 0,rgba(123,136,212,0) 50%) no-repeat;transform-origin:calc(50% - 400px);animation:blobC 20s reverse infinite;opacity:1}
.hb3{background:radial-gradient(circle at center,rgba(8,10,20,.8) 0,rgba(8,10,20,0) 50%) no-repeat;transform-origin:calc(50% + 400px);animation:blobC 40s linear infinite;opacity:1}
.hb4{background:radial-gradient(circle at center,rgba(243,114,42,.7) 0,rgba(243,114,42,0) 50%) no-repeat;transform-origin:calc(50% - 200px);animation:blobH 40s ease infinite;opacity:.6}
.hb5{background:radial-gradient(circle at center,rgba(28,35,80,.8) 0,rgba(28,35,80,0) 50%) no-repeat;transform-origin:calc(50% - 800px) calc(50% + 800px);animation:blobC 20s ease infinite;opacity:1}
.hblob-ptr{position:absolute;width:100%;height:100%;top:-50%;left:-50%;background:radial-gradient(circle at center,rgba(100,120,220,.7) 0,rgba(100,120,220,0) 50%) no-repeat;mix-blend-mode:hard-light;opacity:.6;pointer-events:none;will-change:transform}
@keyframes blobV{0%{transform:translateY(-50%)}50%{transform:translateY(50%)}100%{transform:translateY(-50%)}}
@keyframes blobH{0%{transform:translateX(-50%) translateY(-10%)}50%{transform:translateX(50%) translateY(10%)}100%{transform:translateX(-50%) translateY(-10%)}}
@keyframes blobC{0%{transform:rotate(0deg)}50%{transform:rotate(180deg)}100%{transform:rotate(360deg)}}

/* Per-product accent overrides */
.product-hero-propulso::before{background:radial-gradient(ellipse at 20% 10%,rgba(243,114,42,.28),transparent 55%),radial-gradient(ellipse at 85% 85%,rgba(60,72,132,.32),transparent 55%)}
.product-hero-simple::before{background:radial-gradient(ellipse at 15% 15%,rgba(123,136,212,.28),transparent 55%),radial-gradient(ellipse at 85% 80%,rgba(60,72,132,.36),transparent 55%)}

/* ================================================================
   FLOW DIAGRAM — relación de 3 actores (Propulso · factoraje inverso)
   v2 2026-05-10 — rounded-square nodes, L-shape arrows, GSAP-driven
   ================================================================ */
.flow-diagram{
  position:relative;
  width:100%;
  max-width:980px;
  margin:0 auto;
  aspect-ratio:800/500;
}

.flow-svg{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  overflow:visible;
  z-index:1;
  pointer-events:none;
}
.flow-path{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.flow-path-a{stroke:var(--azul-noche)}
.flow-path-b,.flow-path-c{stroke:var(--ora)}
.flow-arrowhead{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.flow-arrowhead-a{stroke:var(--azul-noche)}
.flow-arrowhead-b,.flow-arrowhead-c{stroke:var(--ora)}

/* Actor nodes — rounded-square cards positioned over SVG */
.flow-actor{
  position:absolute;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:10px;
  width:140px;
  z-index:2;
  transform:translate(-50%,-50%);
}
.flow-actor-cliente{left:25%;top:22%}
.flow-actor-proveedor{left:75%;top:22%}
.flow-actor-cronos{left:50%;top:78%}

.flow-node{
  width:108px;height:108px;border-radius:22px;
  background:#FAF8F4;
  border:1px solid rgba(180,185,219,.5);
  display:flex;align-items:center;justify-content:center;
  color:var(--azul-noche);
  box-shadow:0 6px 18px rgba(60,72,132,.07);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;
}
.flow-actor:hover .flow-node{transform:translateY(-3px);box-shadow:0 12px 26px rgba(60,72,132,.14)}
.flow-node svg{width:42px;height:42px}

.flow-node-cronos{
  background:#fff;
  border:1px solid rgba(243,114,42,.3);
  box-shadow:0 10px 26px rgba(243,114,42,.18);
}
.flow-actor-cronos:hover .flow-node-cronos{box-shadow:0 14px 32px rgba(243,114,42,.28)}
.flow-node-cronos img{width:66px;height:66px;object-fit:contain;display:block}

.flow-name{
  font-family:'Power Grotesk',sans-serif;
  font-size:14px;font-weight:700;
  letter-spacing:2.2px;text-transform:uppercase;
  color:var(--azul-noche);
}
.flow-name-cronos{color:var(--ora)}
.flow-role{
  font-size:13px;
  color:var(--grafito);
  line-height:1.4;
  font-weight:400;
}

/* Letter badges — white chips on arrows */
.flow-badge{
  position:absolute;
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Power Grotesk',sans-serif;
  font-size:14px;font-weight:700;
  background:#fff;
  z-index:3;
  transform:translate(-50%,-50%);
  box-shadow:0 4px 14px rgba(32,33,37,.08);
}
.flow-badge-a{left:50%;top:22%;color:var(--azul-noche);border:1.5px solid rgba(60,72,132,.4)}
.flow-badge-b{left:75%;top:56%;color:var(--ora);border:1.5px solid rgba(243,114,42,.55)}
.flow-badge-c{left:25%;top:56%;color:var(--ora);border:1.5px solid rgba(243,114,42,.55)}

/* Captions positioned outside the triangle */
.flow-caption{
  position:absolute;
  font-size:14px;
  line-height:1.45;
  color:var(--grafito);
  font-family:'Power Grotesk',sans-serif;
  z-index:2;
  max-width:200px;
}
.flow-caption-a{left:50%;top:34%;transform:translate(-50%,-50%);text-align:center;max-width:280px}
.flow-caption-b{left:87%;top:56%;transform:translate(0,-50%);text-align:left}
.flow-caption-c{left:13%;top:56%;transform:translate(-100%,-50%);text-align:right}

/* Cards row — simpler (no icons) */
.flow-cards{
  margin:56px auto 0;
  max-width:1080px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.flow-card{
  display:flex;align-items:flex-start;gap:16px;
  padding:22px 24px;
  background:rgba(180,185,219,.1);
  border:1px solid rgba(180,185,219,.32);
  border-radius:14px;
  transition:transform .3s,box-shadow .3s,border-color .3s;
}
.flow-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(60,72,132,.08);border-color:rgba(180,185,219,.55)}
.flow-card-accent{background:rgba(243,114,42,.06);border-color:rgba(243,114,42,.22)}
.flow-card-accent:hover{box-shadow:0 10px 24px rgba(243,114,42,.12);border-color:rgba(243,114,42,.4)}

.flow-card-badge{
  flex-shrink:0;
  width:38px;height:38px;border-radius:50%;
  background:rgba(123,136,212,.25);
  color:var(--azul-noche);
  display:flex;align-items:center;justify-content:center;
  font-family:'Power Grotesk',sans-serif;
  font-size:14px;font-weight:700;
}
.flow-card-badge-accent{background:rgba(243,114,42,.18);color:var(--ora)}

.flow-card-text{flex:1;min-width:0}
.flow-card-text strong{
  display:block;
  font-family:'Power Grotesk',sans-serif;
  font-size:15px;font-weight:700;
  color:var(--azul-noche);
  margin-bottom:8px;
  letter-spacing:.1px;
}
.flow-card-text p{
  margin:0;
  font-size:14px;
  color:var(--grafito);
  line-height:1.55;
}

/* Info bar — simple "i" icon + paragraph */
.flow-info{
  margin:24px auto 0;
  max-width:1080px;
  display:flex;align-items:center;gap:18px;
  padding:22px 28px;
  background:rgba(180,185,219,.14);
  border:1px solid rgba(180,185,219,.3);
  border-radius:14px;
}
.flow-info-icon{
  flex-shrink:0;
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--azul);
  border:1.5px solid var(--azul);
  font-family:'Power Grotesk',sans-serif;
  font-style:normal;
  font-size:18px;font-weight:600;
}
.flow-info-text{flex:1;min-width:0;font-size:14px;color:var(--grafito);line-height:1.6;font-family:'Power Grotesk',sans-serif}

/* Mobile: stack vertically, hide arrows/captions */
@media (max-width:720px){
  .flow-diagram{
    aspect-ratio:auto;
    max-width:360px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:24px;
    padding:8px 0;
  }
  .flow-svg,.flow-badge,.flow-caption{display:none}
  .flow-actor{
    position:static;
    transform:none;
    flex-direction:row;
    width:100%;
    max-width:300px;
    align-items:center;
    gap:16px;
    text-align:left;
  }
  .flow-node{width:72px;height:72px;border-radius:16px;flex-shrink:0}
  .flow-node svg{width:32px;height:32px}
  .flow-node-cronos img{width:48px;height:48px}
  .flow-cards{grid-template-columns:1fr;gap:14px;margin-top:36px}
  .flow-card{padding:18px 20px;gap:14px}
  .flow-info{padding:18px 22px;gap:14px;margin-top:18px;align-items:flex-start}
  .flow-info-text{font-size:13.5px}
}
.product-hero-ritmo::before{background:radial-gradient(ellipse at 80% 10%,rgba(243,114,42,.22),transparent 55%),radial-gradient(ellipse at 15% 90%,rgba(176,181,219,.32),transparent 55%)}

/* ================================================================
   APP PREVIEW — webapp dashboard mockup (Propulso)
   ================================================================ */

.app-preview-wrap{position:relative;max-width:1080px;margin:0 auto}
.app-preview-wrap::before{content:'';position:absolute;inset:auto -40px -30px;height:60%;background:radial-gradient(ellipse at 50% 100%,rgba(123,136,212,.22),transparent 65%);z-index:0;pointer-events:none}

.app-preview{position:relative;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.06);z-index:1}

/* Browser-style top chrome */
.app-chrome{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#F2EDE6;border-bottom:1px solid var(--arena)}
.app-chrome-dots{display:flex;gap:5px}
.app-chrome-dot{width:10px;height:10px;border-radius:50%;background:#FF5F57}
.app-chrome-dot:nth-child(2){background:#FEBC2D}
.app-chrome-dot:nth-child(3){background:#27C840}
.app-chrome-url{flex:1;text-align:center;font-family:'Power Grotesk',sans-serif;font-size:11px;color:rgba(60,72,132,.55);background:#fff;border:1px solid var(--arena);border-radius:6px;padding:4px 10px;max-width:300px;margin:0 auto}

/* Body: sidebar + main */
.app-body{display:grid;grid-template-columns:208px 1fr;min-height:540px}

/* Sidebar */
.app-sidebar{background:#FCF8F2;border-right:1px solid var(--arena);padding:18px 14px;display:flex;flex-direction:column;gap:16px;font-family:'Power Grotesk',sans-serif}
.app-logo{display:flex;align-items:center;gap:8px;padding:0 4px}
.app-logo-mark{width:28px;height:28px;display:block;object-fit:contain;flex-shrink:0}
.app-logo-text{font-size:13px;font-weight:600;color:var(--azul-noche)}
.app-menu-label{font-size:11px;font-weight:600;color:var(--azul-noche);letter-spacing:.3px;padding:4px 8px;font-style:normal;font-family:'Power Grotesk',sans-serif}
.app-menu{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.app-menu li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:12.5px;font-weight:500;color:rgba(60,72,132,.85);cursor:default}
.app-menu li svg{width:16px;height:16px;color:var(--ora);opacity:.75;flex-shrink:0}
.app-menu li.active{background:rgba(243,114,42,.1);color:var(--ora2);font-weight:600}
.app-menu li.active svg{opacity:1;color:var(--ora2)}
.app-sidebar-spacer{flex:1;min-height:24px}
.app-account{padding:10px 12px;border:1px solid var(--arena);border-radius:8px;display:flex;flex-direction:column;gap:1px}
.app-account strong{font-size:11.5px;font-weight:600;color:var(--azul-noche);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-account small{font-size:10.5px;color:rgba(60,72,132,.55)}
.app-logout{font-size:11.5px;color:var(--ora);font-weight:600;padding:0 8px;cursor:default}

/* Main area */
.app-main{padding:22px 24px;background:#fff;display:flex;flex-direction:column;gap:16px}
.app-page-title{font-family:'Power Grotesk',sans-serif;font-size:14.5px;font-weight:700;color:var(--azul-noche);margin:0}

/* Credit hero card with gradient + black inset */
.app-credit-card{display:grid;grid-template-columns:1fr 1.05fr;gap:0;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#7C2A55 0%,#5A1E40 50%,#3F1A2D 100%);position:relative;min-height:148px;box-shadow:0 10px 28px rgba(124,42,85,.22)}
.app-credit-left{padding:20px 22px;color:#fff;display:flex;flex-direction:column;gap:4px;font-family:'Power Grotesk',sans-serif}
.app-credit-eyebrow{font-size:13px;font-weight:500;color:rgba(255,255,255,.9);line-height:1.3;max-width:200px}
.app-credit-num{font-size:42px;font-weight:700;color:#fff;line-height:1;margin:6px 0 4px}
.app-credit-link{font-size:11.5px;color:rgba(255,255,255,.7);text-decoration:none;margin-top:auto}
.app-credit-right{margin:8px;padding:18px 22px;background:#0A0A0F;color:#fff;display:flex;flex-direction:column;gap:4px;border-radius:10px;font-family:'Power Grotesk',sans-serif}
.app-credit-label{font-size:11px;font-weight:500;color:rgba(255,255,255,.6);letter-spacing:.3px}
.app-credit-amount{font-size:24px;font-weight:700;color:#fff;line-height:1.1;margin-bottom:2px}
.app-credit-amount small{font-size:12.5px;font-weight:500;color:rgba(255,255,255,.7)}
.app-credit-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}
.app-credit-stats > div{display:flex;flex-direction:column;gap:1px}
.app-credit-stats small{font-size:10.5px;color:rgba(255,255,255,.55)}
.app-credit-stats strong{font-size:13px;font-weight:600;color:#fff}

/* Providers header */
.app-providers-header{display:flex;align-items:center;justify-content:space-between;padding:4px 0}
.app-providers-header h4{font-family:'Power Grotesk',sans-serif;font-size:14px;font-weight:600;color:var(--azul-noche);margin:0}
.app-providers-actions{display:flex;align-items:center;gap:6px;font-family:'Power Grotesk',sans-serif;font-size:11.5px;color:var(--ora);font-weight:500}
.app-providers-actions svg{width:14px;height:14px}

/* Providers grid */
.app-providers-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.app-provider{border:1px solid var(--arena);border-radius:10px;padding:14px 16px;background:#fff;display:flex;flex-direction:column;gap:6px;font-family:'Power Grotesk',sans-serif}
.app-provider-name{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.app-provider-name strong{font-size:13px;font-weight:600;color:var(--azul-noche)}
.app-provider-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:50%;background:var(--ora);font-size:10.5px;font-weight:700;color:#fff;padding:0 5px}
.app-provider-label{font-size:10.5px;color:rgba(60,72,132,.55)}
.app-provider-line{font-size:14px;font-weight:700;color:var(--azul-noche);margin-bottom:4px}
.app-provider-bar{height:5px;border-radius:100px;background:rgba(60,72,132,.08);overflow:hidden}
.app-provider-bar-fill{height:100%;border-radius:100px;background:linear-gradient(90deg,#E94B40 0%,#FFA89A 130%)}
.app-provider-bar-fill-blue{background:linear-gradient(90deg,#4D7EE5 0%,#A6C3F7 130%)}
.app-provider-footer{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:6px}
.app-provider-footer small{display:block;font-size:10px;color:rgba(60,72,132,.55);font-weight:500;margin-bottom:1px}
.app-provider-footer strong{font-size:12px;font-weight:600;color:var(--azul-noche)}

/* Features below the dashboard */
.app-features{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:64px;position:relative;z-index:2}
.app-feature{text-align:left;padding:0}
.app-feature-icon{width:42px;height:42px;border-radius:10px;background:rgba(243,114,42,.12);color:var(--ora);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.app-feature h4{font-family:'Power Grotesk',sans-serif;font-size:17px;font-weight:600;color:#fff;margin-bottom:8px;line-height:1.25}
.app-feature p{font-size:13px;color:rgba(255,255,255,.6);line-height:1.55;margin:0}

/* Mobile breakpoint for app preview */
@media (max-width:880px){
  .app-preview-wrap::before{display:none}
  .app-preview{border-radius:10px}
  .app-chrome{padding:8px 12px}
  .app-chrome-url{font-size:10px;max-width:160px;padding:3px 8px}
  .app-body{grid-template-columns:1fr;min-height:0}
  .app-sidebar{display:none}
  .app-main{padding:18px 16px;gap:14px}
  .app-credit-card{grid-template-columns:1fr;min-height:0}
  .app-credit-right{margin:0 8px 8px;padding:16px 18px}
  .app-credit-num{font-size:36px}
  .app-credit-amount{font-size:22px}
  .app-providers-grid{grid-template-columns:1fr}
  .app-features{grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}
  .app-feature h4{font-size:15px}
}
@media (max-width:520px){
  .app-features{grid-template-columns:1fr}
}
