/* ==========================================================================
   RP TRADING — Plataforma de Comercio Internacional
   Sistema de diseño institucional
   Paleta: negro · marfil · dorado
   ========================================================================== */

:root{
  /* Marca */
  --gold:#c8a45a;
  --gold-2:#e4cb91;
  --gold-deep:#96762f;      /* variante accesible sobre fondos claros (AA) */
  --black:#0c0f11;
  --black-2:#141819;
  --ink:#050708;
  --navy:#0B1F3A;
  --ivory:#f6f2e8;
  --ivory-2:#fbf9f4;
  --white:#fff;
  --gray:#5f646a;           /* AA sobre marfil */
  --gray-soft:#8b9096;
  --line:#0000001a;
  --line-dark:#ffffff1f;

  /* Tipografía fluida */
  --fs-display:clamp(2.9rem,5.6vw,5.4rem);
  --fs-h2:clamp(2.1rem,3.9vw,3.6rem);
  --fs-h3:clamp(1.35rem,1.9vw,1.85rem);
  --fs-body:1rem;

  /* Ritmo vertical */
  --sp-section:clamp(72px,8vw,124px);
  --radius:2px;
  --shadow-sm:0 2px 10px #0000000d;
  --shadow:0 18px 50px #00000014;
  --shadow-lg:0 30px 80px #0000001f;
  --ease:cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}

body{
  font-family:'DM Sans',system-ui,-apple-system,sans-serif;
  background:var(--ivory);
  color:var(--black);
  line-height:1.65;
  font-size:var(--fs-body);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;line-height:1.06;font-weight:600}
ul{list-style:none}

/* Accesibilidad -------------------------------------------------------- */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--gold);color:#111;padding:12px 20px;font-weight:600;
}
.skip:focus{left:8px;top:8px}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Layout --------------------------------------------------------------- */
.container{width:min(1240px,calc(100% - 44px));margin-inline:auto}
section{padding:var(--sp-section) 0}
.eyebrow{
  text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;
  color:var(--gold-deep);font-weight:700;
}
.on-dark .eyebrow,.dark .eyebrow{color:var(--gold)}

.head{
  display:grid;grid-template-columns:1.25fr .75fr;gap:40px;
  align-items:end;margin-bottom:52px;
}
.head h2{font-size:var(--fs-h2);letter-spacing:-.035em;margin-top:14px}
.head p{color:var(--gray);max-width:44ch}
.dark .head p{color:#9aa0a6}
.rule{width:54px;height:2px;background:var(--gold);margin-bottom:18px}

/* Botones -------------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:48px;padding:14px 26px;font-weight:600;font-size:.87rem;
  border:1px solid transparent;border-radius:var(--radius);
  transition:transform .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease);
  cursor:pointer;font-family:inherit;
}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:#14100a;box-shadow:0 6px 20px #c8a45a4d}
.btn-gold:hover{background:var(--gold-2);box-shadow:0 10px 28px #c8a45a66}
.btn-ghost{border-color:#ffffff59;color:#fff;background:#ffffff0f;backdrop-filter:blur(6px)}
.btn-ghost:hover{background:#ffffff1f;border-color:#fff}
.btn-dark{background:var(--black);color:#fff}
.btn-dark:hover{background:var(--navy)}
.btn-outline{border-color:#0000002e;color:var(--black)}
.btn-outline:hover{border-color:var(--black);background:#0000000a}
.btn svg{width:17px;height:17px;flex:none}

/* Barra superior ------------------------------------------------------- */
.topbar{
  background:var(--ink);color:#c7ccd1;font-size:.7rem;
  letter-spacing:.09em;text-transform:uppercase;
  border-bottom:1px solid #ffffff14;
}
.topbar .container{
  display:flex;justify-content:space-between;align-items:center;
  gap:22px;min-height:38px;
}
.tb-list{display:flex;gap:26px;overflow:hidden;white-space:nowrap}
.tb-list b{color:var(--gold-2);font-weight:600}
.tb-right{display:flex;gap:18px;align-items:center;white-space:nowrap}
.tb-right a:hover{color:#fff}

/* Header --------------------------------------------------------------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:#07090ae6;backdrop-filter:blur(14px);
  border-bottom:1px solid #ffffff1a;
  transition:background .3s var(--ease);
}
.site-header nav{
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;min-height:78px;color:#fff;flex-wrap:nowrap;
}
.brand{display:flex;align-items:center;gap:13px;min-width:0;flex:0 1 auto}
.brand-txt{min-width:0}
.brand img{width:46px;height:46px;object-fit:contain}
.brand-txt b{
  font-family:'Playfair Display',serif;font-size:1.06rem;
  letter-spacing:.09em;display:block;line-height:1.1;
}
.brand-txt small{
  display:block;font-size:.55rem;letter-spacing:.15em;
  text-transform:uppercase;color:#aeb4ba;margin-top:2px;
}
.menu{display:flex;gap:30px;font-size:.88rem;color:#dfe3e6}
.menu a{position:relative;padding:6px 0;transition:color .2s}
.menu a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--gold);transition:right .3s var(--ease);
}
.menu a:hover{color:#fff}
.menu a:hover::after{right:0}
.nav-cta{display:flex;align-items:center;gap:10px;flex:none;min-width:0}
.nav-portal{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;
  padding:11px 20px;background:var(--gold);color:#14100a;
  font-weight:700;font-size:.83rem;border-radius:var(--radius);
  transition:background .25s var(--ease),transform .25s var(--ease);
}
.nav-portal:hover{background:var(--gold-2);transform:translateY(-1px)}

/* Botón hamburguesa (móvil) */
.burger{
  display:none;width:46px;height:46px;background:none;border:1px solid #ffffff33;
  border-radius:var(--radius);align-items:center;justify-content:center;
}
.burger span{display:block;width:19px;height:1.5px;background:#fff;position:relative}
.burger span::before,.burger span::after{
  content:"";position:absolute;left:0;width:19px;height:1.5px;background:#fff;
  transition:transform .3s var(--ease);
}
.burger span::before{top:-6px}
.burger span::after{top:6px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

.mobile-nav{
  display:none;background:var(--ink);border-top:1px solid #ffffff1a;
  padding:14px 0 24px;
}
.mobile-nav.open{display:block}
.mobile-nav a{
  display:block;padding:14px 0;color:#e6e9eb;font-size:.98rem;
  border-bottom:1px solid #ffffff12;
}
.mobile-nav .btn{width:100%;margin-top:18px}

/* HERO ----------------------------------------------------------------- */
.hero{
  position:relative;color:#fff;overflow:hidden;
  min-height:min(92vh,860px);display:flex;align-items:center;
  padding:110px 0 0;
}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(100deg,#050708f7 0%,#050708e0 38%,#05070899 62%,#0507084d 100%),
    radial-gradient(120% 80% at 15% 50%,#0507089e 0%,transparent 70%);
}
.hero .container{position:relative;z-index:1;padding-bottom:64px}
.hero-inner{max-width:940px}
.hero h1{
  font-size:var(--fs-display);letter-spacing:-.045em;
  margin:20px 0 22px;text-wrap:balance;
}
.hero h1 em{font-style:normal;color:var(--gold-2)}
.hero-lead{
  max-width:62ch;color:#dfe3e6;font-size:clamp(1rem,1.2vw,1.14rem);
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}

/* Sellos de confianza en hero */
.trust{
  margin-top:44px;padding-top:26px;border-top:1px solid #ffffff26;
  display:flex;gap:34px;flex-wrap:wrap;align-items:center;
}
.trust span{
  font-size:.71rem;letter-spacing:.15em;text-transform:uppercase;color:#aeb4ba;
}
.trust b{color:#fff;font-weight:600}

/* Franja de indicadores */
.hero-stats{
  position:relative;z-index:1;
  background:#07090ab8;backdrop-filter:blur(12px);
  border-top:1px solid #ffffff26;
}
.hero-stats .grid{display:grid;grid-template-columns:repeat(4,1fr)}
.hstat{padding:26px 24px;border-right:1px solid #ffffff1f}
.hstat:last-child{border-right:0}
.hstat b{
  display:block;font-family:'Playfair Display',serif;
  font-size:1.7rem;color:var(--gold-2);line-height:1.1;
}
.hstat span{
  display:block;font-size:.68rem;letter-spacing:.13em;
  text-transform:uppercase;color:#a9afb5;margin-top:6px;
}

/* Secciones oscuras ---------------------------------------------------- */
.dark{background:var(--black);color:#fff}
.dark h2,.dark h3{color:#fff}

/* QUÉ ES RP TRADING ---------------------------------------------------- */
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.about-copy p+p{margin-top:16px}
.about-copy p{color:var(--gray)}
.lead-para{font-size:1.1rem;color:var(--black)!important;font-weight:500}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin-top:34px;border:1px solid var(--line)}
.pillar{background:var(--ivory);padding:24px 22px}
.pillar b{display:block;font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--navy)}
.pillar span{font-size:.78rem;color:var(--gray);letter-spacing:.02em}
.about-media{position:relative}
.about-media img{width:100%;box-shadow:var(--shadow-lg)}
.about-badge{
  position:absolute;right:-18px;bottom:-18px;background:var(--black);
  color:#fff;padding:22px 26px;max-width:230px;box-shadow:var(--shadow-lg);
  border-left:3px solid var(--gold);
}
.about-badge b{display:block;font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--gold-2)}
.about-badge span{font-size:.76rem;color:#b9bfc4;line-height:1.45;display:block;margin-top:4px}

/* CÓMO FUNCIONA (plataforma) ------------------------------------------- */
.flow{
  display:grid;grid-template-columns:repeat(7,1fr);
  gap:0;position:relative;margin-top:14px;
}
.flow::before{
  content:"";position:absolute;left:0;right:0;top:31px;height:1px;
  background:linear-gradient(90deg,transparent,#ffffff33 8%,#ffffff33 92%,transparent);
}
.flow-step{position:relative;padding:0 12px;text-align:center}
.flow-num{
  width:62px;height:62px;margin:0 auto 20px;border-radius:50%;
  background:var(--black);border:1px solid #ffffff2e;
  display:flex;align-items:center;justify-content:center;
  font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--gold);
  position:relative;z-index:1;transition:border-color .3s var(--ease),background .3s var(--ease);
}
.flow-step:hover .flow-num{border-color:var(--gold);background:#1b2024}
.flow-step h3{font-size:.95rem;font-family:'DM Sans',sans-serif;font-weight:600;margin-bottom:7px;letter-spacing:.01em}
.flow-step p{font-size:.79rem;color:#9aa0a6;line-height:1.55}

.platform-note{
  margin-top:56px;padding:36px 40px;border:1px solid #ffffff26;
  display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;
  background:linear-gradient(120deg,#12171a,#0d1114);
}
.platform-note h3{font-size:1.5rem;margin-bottom:8px}
.platform-note p{color:#9aa0a6;max-width:62ch;font-size:.94rem}

/* MÓDULOS DE LA PLATAFORMA --------------------------------------------- */
.modules{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark)}
.module{
  background:var(--black);padding:36px 32px;min-height:212px;
  transition:background .3s var(--ease);position:relative;
}
.module:hover{background:var(--black-2)}
.module .ico{width:30px;height:30px;color:var(--gold);margin-bottom:22px}
.module h3{font-size:1.16rem;font-family:'DM Sans',sans-serif;font-weight:600;margin-bottom:9px}
.module p{font-size:.87rem;color:#9aa0a6}

/* FERIAS --------------------------------------------------------------- */
.fairs{display:flex;flex-direction:column;gap:30px}
.fair{
  display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  align-items:stretch;
  background:var(--white);border:1px solid #00000012;
  box-shadow:var(--shadow);overflow:hidden;
  transition:box-shadow .35s var(--ease),transform .35s var(--ease);
}
.fair:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.fair-art{margin:0;position:relative;background:#0e1117;overflow:hidden;align-self:stretch;min-height:340px}
.fair-art img{
  position:absolute;inset:0;display:block;width:100%;height:100%;
  object-fit:cover;object-position:50% 30%;
  transition:transform .7s var(--ease);
}
.fair:hover .fair-art img{transform:scale(1.035)}
.fair-badge{
  position:absolute;top:18px;left:18px;background:#050708e0;
  backdrop-filter:blur(6px);color:var(--gold-2);
  padding:7px 14px;font-size:.68rem;letter-spacing:.15em;
  text-transform:uppercase;font-weight:700;border:1px solid #ffffff2b;
}
.fair-info{padding:clamp(30px,3.4vw,52px);display:flex;flex-direction:column;justify-content:center}
.fair-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.chip{
  font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;
  font-weight:700;padding:6px 12px;border:1px solid #0000001f;color:var(--gray);
}
.chip-date{background:var(--navy);color:#fff;border-color:var(--navy)}
.fair-info h3{font-size:clamp(1.9rem,3vw,2.9rem);color:var(--navy);letter-spacing:-.02em;margin-bottom:6px}
.fair-loc{
  color:var(--gold-deep);text-transform:uppercase;letter-spacing:.12em;
  font-size:.72rem;font-weight:700;
}
.fair-desc{color:var(--gray);margin-top:16px;font-size:.95rem}
.fstats{
  display:flex;gap:38px;margin:24px 0;padding:18px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.fstat b{display:block;font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--navy)}
.fstat span{font-size:.7rem;color:var(--gray);text-transform:uppercase;letter-spacing:.1em}
.pack{
  background:var(--ivory-2);border-left:2px solid var(--gold);
  padding:18px 20px;margin-bottom:22px;
}
.pack-label{text-transform:uppercase;letter-spacing:.19em;font-size:.65rem;color:var(--gold-deep);font-weight:700}
.pack-name{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--navy);margin:3px 0 12px}
.incl{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}
.incl li{position:relative;padding-left:19px;font-size:.85rem;color:#4c5157;line-height:1.5}
.incl li::before{
  content:"";position:absolute;left:0;top:9px;width:9px;height:1px;background:var(--gold);
}
.fair-actions{display:flex;gap:11px;flex-wrap:wrap}

/* SERVICIOS ------------------------------------------------------------ */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark)}
.service{background:var(--black);padding:38px 34px;min-height:240px;transition:background .3s var(--ease)}
.service:hover{background:var(--black-2)}
.service .num{font-family:'Playfair Display',serif;font-size:1.9rem;color:var(--gold)}
.service h3{font-size:1.2rem;font-family:'DM Sans',sans-serif;font-weight:600;margin:30px 0 10px}
.service p{font-size:.88rem;color:#9aa0a6}

/* NOTICIAS / OPORTUNIDADES --------------------------------------------- */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.news-card{
  background:var(--white);border:1px solid #00000012;
  box-shadow:var(--shadow-sm);transition:box-shadow .3s var(--ease),transform .3s var(--ease);
  display:flex;flex-direction:column;
}
.news-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.news-tag{
  align-self:flex-start;margin:26px 26px 0;font-size:.65rem;
  letter-spacing:.15em;text-transform:uppercase;font-weight:700;
  color:var(--gold-deep);border:1px solid #c8a45a5c;padding:5px 11px;
}
.news-card h3{font-size:1.24rem;color:var(--navy);margin:16px 26px 10px;line-height:1.3}
.news-card p{font-size:.89rem;color:var(--gray);margin:0 26px 22px}
.news-foot{
  margin-top:auto;padding:16px 26px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;
  font-size:.76rem;color:var(--gray-soft);
}
.news-foot b{color:var(--gold-deep);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}

/* INDICADORES / RESULTADOS --------------------------------------------- */
.results{
  background:linear-gradient(115deg,#0a0d0f 0%,#101619 55%,#0a0d0f 100%);
  color:#fff;position:relative;overflow:hidden;
}
.results::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(60% 70% at 80% 20%,#c8a45a1f,transparent 65%);
}
.results .container{position:relative;z-index:1}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ffffff1f;border:1px solid #ffffff1f}
.kpi{background:#0c1013;padding:38px 28px;text-align:center}
.kpi b{
  display:block;font-family:'Playfair Display',serif;
  font-size:clamp(2.2rem,3.6vw,3.1rem);color:var(--gold-2);line-height:1;
}
.kpi span{
  display:block;margin-top:12px;font-size:.74rem;letter-spacing:.13em;
  text-transform:uppercase;color:#a9afb5;
}
.logos-row{
  margin-top:52px;padding-top:34px;border-top:1px solid #ffffff1f;
  display:flex;flex-wrap:wrap;gap:14px 34px;align-items:center;justify-content:center;
}
.logos-row span{
  font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:#8f959b;
}

/* LIDERAZGO -------------------------------------------------------------- */
.leader-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:center}
.leader-photo{position:relative;line-height:0}
.leader-photo img{
  display:block;width:100%;height:auto;aspect-ratio:4/5;
  object-fit:cover;object-position:50% 18%;
  box-shadow:var(--shadow-lg);
}
.leader-first{
  position:absolute;left:-18px;bottom:-18px;max-width:250px;
  background:var(--navy);color:#fff;padding:22px 24px;
  box-shadow:var(--shadow-lg);border-right:3px solid var(--gold);
}
.leader-first b{
  display:block;font-family:'Playfair Display',serif;font-size:2.1rem;
  color:var(--gold-2);line-height:1;
}
.leader-first sup{font-size:1.05rem;top:-.6em}
.leader-first span{
  display:block;font-size:.78rem;line-height:1.5;color:#dfe3e6;margin-top:8px;
}
.leader-copy .role{
  color:var(--gold-deep);text-transform:uppercase;letter-spacing:.13em;
  font-size:.74rem;font-weight:700;margin-bottom:8px;
}
.leader-copy h3{font-size:clamp(1.9rem,3vw,2.6rem);color:var(--navy);margin-bottom:18px}
.leader-copy .lead-para{color:var(--black)!important}
.leader-copy>p{color:var(--gray);margin-top:14px}
.credentials{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--line);border:1px solid var(--line);margin:30px 0 32px;
}
.credentials li{background:var(--ivory);padding:20px 22px}
.credentials li b{
  display:block;font-family:'Playfair Display',serif;font-size:1.18rem;color:var(--navy);
}
.credentials li span{font-size:.78rem;color:var(--gray);line-height:1.4}
.leader-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ACCESO AL PORTAL ----------------------------------------------------- */
.portal{
  background:var(--ivory-2);position:relative;overflow:hidden;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.portal-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center}
.portal h2{font-size:var(--fs-h2);letter-spacing:-.035em;margin:14px 0 18px;color:var(--navy)}
.portal-lead{color:var(--gray);font-size:1.04rem;max-width:52ch}
.portal-list{margin:28px 0 32px;display:grid;gap:13px}
.portal-list li{
  position:relative;padding-left:30px;font-size:.94rem;color:#3f444a;
}
.portal-list li::before{
  content:"";position:absolute;left:0;top:7px;width:15px;height:8px;
  border-left:1.5px solid var(--gold-deep);border-bottom:1.5px solid var(--gold-deep);
  transform:rotate(-45deg);
}
.portal-actions{display:flex;gap:13px;flex-wrap:wrap}

/* Tarjeta visual del portal (mock de interfaz) */
.portal-card{
  background:var(--black);box-shadow:var(--shadow-lg);
  border:1px solid #ffffff1a;overflow:hidden;
}
.pc-bar{
  display:flex;align-items:center;gap:8px;padding:14px 18px;
  background:#0f1417;border-bottom:1px solid #ffffff14;
}
.pc-dot{width:9px;height:9px;border-radius:50%;background:#ffffff26}
.pc-url{
  margin-left:10px;font-size:.7rem;color:#8f959b;letter-spacing:.05em;
  font-family:ui-monospace,'SF Mono',Menlo,monospace;
}
.pc-body{padding:26px 24px 30px}
.pc-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.pc-row b{font-family:'Playfair Display',serif;color:#fff;font-size:1.06rem}
.pc-pill{font-size:.63rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-2);border:1px solid #c8a45a4d;padding:4px 10px}
.pc-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}
.pc-metric{background:#12171a;border:1px solid #ffffff12;padding:14px 12px}
.pc-metric b{display:block;font-family:'Playfair Display',serif;color:var(--gold-2);font-size:1.2rem}
.pc-metric span{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:#8f959b}
.pc-line{height:1px;background:#ffffff12;margin:16px 0}
.pc-task{display:flex;align-items:center;gap:11px;padding:9px 0;font-size:.79rem;color:#b9bfc4}
.pc-check{
  width:16px;height:16px;border:1px solid var(--gold);flex:none;
  display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:.6rem;
}
.pc-bars{display:flex;align-items:flex-end;gap:6px;height:56px;margin-top:6px}
.pc-bars i{flex:1;background:linear-gradient(180deg,var(--gold),#c8a45a2e);display:block}

/* CONTACTO ------------------------------------------------------------- */
.contact{background:var(--black);color:#fff}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}
.contact h2{font-size:var(--fs-h2);letter-spacing:-.035em;margin:14px 0 18px}
.contact-intro{color:#9aa0a6;max-width:46ch}
.contact-info{margin-top:34px;display:grid;gap:20px}
.ci-item{display:flex;gap:14px;align-items:flex-start}
.ci-item svg{width:19px;height:19px;color:var(--gold);flex:none;margin-top:3px}
.ci-item b{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#8f959b;margin-bottom:3px}
.ci-item a,.ci-item p{color:#e6e9eb;font-size:.94rem}
.ci-item a:hover{color:var(--gold-2)}

form{display:grid;gap:18px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:#a9afb5;font-weight:600}
.field input,.field select,.field textarea{
  background:#12171a;border:1px solid #ffffff21;color:#fff;
  padding:13px 15px;font-family:inherit;font-size:.92rem;border-radius:var(--radius);
  transition:border-color .25s var(--ease),background .25s var(--ease);min-height:48px;
}
.field textarea{resize:vertical;min-height:120px}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--gold);background:#161c20;
}
.field input::placeholder,.field textarea::placeholder{color:#6d7379}
.form-note{font-size:.76rem;color:#8f959b}
.form-note a{color:var(--gold-2);text-decoration:underline}

/* WhatsApp flotante ---------------------------------------------------- */
.wa-float{
  position:fixed;right:20px;bottom:20px;z-index:90;
  width:56px;height:56px;border-radius:50%;
  background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 26px #25d3665c;transition:transform .25s var(--ease);
}
.wa-float:hover{transform:scale(1.07)}
.wa-float svg{width:30px;height:30px}

/* Footer --------------------------------------------------------------- */
footer{background:var(--ink);color:#9aa0a6;padding:64px 0 26px}
.foot{
  display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:44px;
  padding-bottom:42px;border-bottom:1px solid #ffffff1f;
}
.foot-brand p{font-size:.86rem;margin-top:16px;max-width:34ch;line-height:1.6}
footer h4{
  color:#fff;font-size:.72rem;text-transform:uppercase;
  letter-spacing:.15em;margin-bottom:16px;
}
footer nav a{
  display:flex;align-items:center;min-height:44px;
  font-size:.87rem;transition:color .2s;
}
footer nav a:hover{color:var(--gold-2)}
.copyline{
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding-top:26px;font-size:.75rem;color:#7b8188;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media(max-width:1100px){
  .flow{grid-template-columns:repeat(4,1fr);row-gap:38px}
  .flow::before{display:none}
  .modules,.services,.news,.kpis{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:960px){
  .menu{display:none}
  .nav-portal span{display:none}
  .nav-portal{padding:11px 14px}
  .burger{display:flex}
  .hero-stats .grid{grid-template-columns:repeat(2,1fr)}
  .hstat{border-bottom:1px solid #ffffff1f}
  .about-grid,.portal-grid,.contact-grid{grid-template-columns:1fr;gap:44px}
  .about-badge{position:static;max-width:none;margin-top:0}
  .leader-grid{grid-template-columns:1fr;gap:44px}
  .leader-first{position:static;max-width:none;margin-top:16px}
  .fair{grid-template-columns:1fr}
  .fair-art{aspect-ratio:1/1;min-height:0}
  .head{grid-template-columns:1fr;gap:18px}
  .platform-note{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr 1fr;gap:32px}
}

@media(max-width:680px){
  .container{width:calc(100% - 34px)}
  .topbar .tb-list span:not(:first-child){display:none}
  .tb-right span{display:none}
  .hero{min-height:auto;padding:84px 0 0}
  .hero .container{padding-bottom:48px}
  .hero-actions .btn{width:100%}
  .trust{gap:16px 24px}
  .flow,.modules,.services,.news,.kpis,.incl,.f-row,.pillars,.credentials{grid-template-columns:1fr}
  .leader-actions .btn{width:100%}
  .fstats{gap:26px}
  .fair-actions .btn{width:100%}
  .portal-actions .btn{width:100%}
  .foot{grid-template-columns:1fr}
  .copyline{flex-direction:column;gap:8px}
  .pc-metrics{grid-template-columns:repeat(3,1fr)}
  .wa-float{right:14px;bottom:14px}
}

@media(max-width:400px){
  .brand-txt small{display:none}
  .kpi{padding:28px 18px}
}

/* Impresión ------------------------------------------------------------ */
@media print{
  .site-header,.topbar,.wa-float,.hero-actions,.portal-actions,form{display:none}
  body{background:#fff;color:#000}
  .dark,.contact,.results{background:#fff!important;color:#000!important}
}
