/* ============================================================
   Plataforma de Gestión de Consentimientos — sitio comercial
   W-IT + RegulaTec
   ============================================================ */

:root{
  --green:#6DB63C; --green-600:#589E28; --green-700:#478018;
  --navy:#173A4D;  --navy-800:#0F2A38;  --navy-600:#265066;  --navy-500:#35657D;
  --blue:#1B8FD0;  --blue-700:#146FA3;
  --ink:#1c2b33;   --muted:#5c6f79;     --line:#e3e9eb;
  --bg:#fff;       --bg-tint:#f4f8f6;   --bg-soft:#eef3f1;
  --amber:#d9932a;
  --radius:16px;   --radius-sm:11px;
  --shadow:0 10px 30px -12px rgba(23,58,77,.2);
  --shadow-lg:0 26px 60px -22px rgba(23,58,77,.4);
  --font:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --display:'Sora','Inter',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:78px}
body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.section{padding:96px 0}
.section--tint{background:var(--bg-tint)}
.section--dark{background:linear-gradient(165deg,var(--navy) 0%,var(--navy-800) 100%);color:#eaf1f0}

.kicker{display:inline-block;font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;color:var(--green-600);margin-bottom:14px}
.kicker--light{color:var(--green)}
.h2{font-family:var(--display);font-weight:800;font-size:clamp(1.75rem,3.8vw,2.8rem);line-height:1.12;color:var(--navy);letter-spacing:-.015em;margin-bottom:10px}
.h2--light{color:#fff}
.h2 .hl{color:var(--green-600)}
.h2--light .hl{color:var(--green)}
.section__lead{max-width:740px;color:var(--muted);font-size:1.08rem;margin:14px 0 40px}
.section__lead--light{color:#b9cdd3}
.section__lead em{color:var(--navy);font-style:italic}
.section__lead--light em{color:#fff}

/* ===== NAV ===== */
.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav__inner{max-width:1180px;margin:0 auto;padding:13px 24px;display:flex;align-items:center;gap:18px}
.nav__brand{display:flex;align-items:center;gap:14px}
.nav__logo{height:40px;width:auto}
.nav__logo--reg{height:42px}
.nav__plus{color:var(--muted);font-weight:600;font-size:1.1rem}
.nav__links{margin-left:auto;display:flex;gap:2px;flex-wrap:wrap}
.nav__links a{font-size:.88rem;font-weight:500;color:var(--navy-600);padding:8px 11px;border-radius:9px;transition:.18s;white-space:nowrap}
.nav__links a:hover{background:var(--bg-soft);color:var(--navy)}
.nav__links a.active{color:var(--green-700);background:rgba(109,182,60,.12)}
.nav__cta{flex-shrink:0}
.nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;margin-left:auto}
.nav__toggle span{width:24px;height:2px;background:var(--navy);border-radius:2px}

/* ===== BOTONES ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--display);font-weight:600;font-size:.98rem;padding:13px 26px;border-radius:12px;border:1.5px solid transparent;cursor:pointer;transition:.2s;white-space:nowrap}
.btn--sm{padding:9px 17px;font-size:.86rem}
.btn--lg{padding:16px 34px;font-size:1.04rem}
.btn--primary{background:var(--green);color:#fff;box-shadow:0 10px 26px -10px rgba(109,182,60,.75)}
.btn--primary:hover{background:var(--green-600);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}

/* ===== HERO ===== */
.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:104px 0 66px}
.hero__bg{position:absolute;inset:0;background:
  radial-gradient(760px 400px at 84% -10%,rgba(109,182,60,.36),transparent 62%),
  radial-gradient(620px 460px at 6% 110%,rgba(27,143,208,.3),transparent 62%),
  linear-gradient(165deg,var(--navy) 0%,var(--navy-800) 100%)}
.hero__bg::after{content:"";position:absolute;inset:0;opacity:.32;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:46px 46px}
.hero__inner{position:relative;max-width:1180px;margin:0 auto;padding:0 24px}
.hero__eyebrow{font-family:var(--display);font-weight:600;letter-spacing:.03em;color:var(--green);font-size:.94rem;margin-bottom:20px}
.hero__title{font-family:var(--display);font-weight:800;font-size:clamp(2.4rem,6.4vw,4.5rem);line-height:1.03;letter-spacing:-.025em}
.hero__title .grad{background:linear-gradient(92deg,var(--green) 0%,#b3e588 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero__lead{max-width:660px;margin:24px 0 34px;font-size:1.18rem;color:#cddedf}
.hero__lead strong{color:#fff}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.hero__urgency{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px;border-top:1px solid rgba(255,255,255,.15);padding-top:32px}
.urg__n{display:block;font-family:var(--display);font-weight:800;font-size:clamp(1.35rem,2.7vw,1.9rem);color:var(--green);line-height:1}
.urg__l{display:block;color:#a9c0c3;font-size:.88rem;margin-top:9px}

/* ===== DESAFÍO ===== */
.pains{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pain{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);transition:transform .2s}
.pain:hover{transform:translateY(-4px)}
.pain__ico{font-size:1.7rem;display:block;margin-bottom:12px}
.pain h3{font-family:var(--display);font-weight:700;color:var(--navy);font-size:1.08rem;margin-bottom:8px}
.pain p{color:var(--muted);font-size:.94rem}

/* ===== CAPACIDADES ===== */
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cap{background:#fff;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);transition:transform .2s}
.cap:hover{transform:translateY(-4px)}
.cap__ico{font-size:1.75rem;margin-bottom:12px}
.cap h3{font-family:var(--display);font-weight:700;color:var(--navy);font-size:1.06rem;margin-bottom:8px;line-height:1.25}
.cap p{color:var(--muted);font-size:.93rem}

/* ===== LEGAL ===== */
.laws{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:start}
.law{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.law--main{border-top:5px solid var(--navy);background:linear-gradient(180deg,rgba(23,58,77,.03),#fff)}
.law--opt{border-style:dashed;border-color:var(--amber)}
.law__tag{display:inline-block;font-family:var(--display);font-weight:700;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--green-700);background:rgba(109,182,60,.14);padding:4px 11px;border-radius:14px;margin-bottom:11px}
.law__tag--opt{color:#8a5a12;background:rgba(217,147,42,.16)}
.law h3{font-family:var(--display);font-weight:800;color:var(--navy);font-size:1.2rem;line-height:1.25;margin-bottom:6px}
.law__date{color:var(--green-700);font-weight:600;font-size:.88rem;margin-bottom:14px}
.law p{color:var(--muted);font-size:.94rem}
.law ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin-top:6px}
.law li{position:relative;padding-left:22px;color:var(--ink);font-size:.94rem}
.law li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--green)}
.law li strong{color:var(--navy)}
.law-col{display:flex;flex-direction:column;gap:16px}
.legal-disclaimer{margin-top:26px;background:#fff7ec;border:1px solid #f0c98a;border-left:4px solid var(--amber);border-radius:12px;padding:16px 20px;color:#7a5a1e;font-size:.9rem;line-height:1.6}
.legal-disclaimer strong{color:#5f4415}

/* ===== RESPALDO ===== */
.backers{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.backer{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);border-radius:var(--radius);padding:30px}
.backer__logo{height:34px;width:auto;background:#fff;padding:7px 12px;border-radius:9px;margin-bottom:18px}
.backer h3{font-family:var(--display);font-weight:700;color:#fff;font-size:1.14rem;margin-bottom:8px}
.backer > p{color:#b9cdd3;font-size:.94rem;margin-bottom:16px}
.backer ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.backer li{position:relative;padding-left:22px;color:#cddedf;font-size:.92rem;line-height:1.5}
.backer li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--green)}
.backer li strong{color:#fff}
.trust{margin-top:34px;background:rgba(255,255,255,.045);border:1px dashed rgba(255,255,255,.22);border-radius:var(--radius);padding:26px;text-align:center}
.trust__t{display:block;font-family:var(--display);font-weight:600;color:#eaf1f0;font-size:.98rem;margin-bottom:16px}
.trust__badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:16px}
.tb{background:#fff;color:var(--navy);font-family:var(--display);font-weight:700;font-size:.8rem;padding:8px 16px;border-radius:20px}
.trust__note{color:#a9c0c3;font-size:.87rem;max-width:760px;margin:0 auto;line-height:1.6}

/* ===== MODELOS ===== */
.models{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.model{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.model--rec{border:2px solid var(--green);box-shadow:0 0 0 4px rgba(109,182,60,.1),var(--shadow)}
.model__badge{display:inline-block;align-self:flex-start;font-family:var(--display);font-weight:700;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;background:var(--green);color:#fff;padding:5px 12px;border-radius:14px;margin-bottom:13px}
.model__badge--alt{background:var(--navy)}
.model h3{font-family:var(--display);font-weight:800;color:var(--navy);font-size:1.22rem;margin-bottom:10px}
.model > p{color:var(--muted);font-size:.94rem;margin-bottom:16px}
.model ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin-top:auto;border-top:1px solid var(--line);padding-top:16px}
.model li{position:relative;padding-left:20px;color:var(--ink);font-size:.9rem}
.model li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green-600);font-weight:700}

/* ===== DOS COLUMNAS ===== */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:52px}
.two-col p{color:var(--muted);font-size:1rem;margin-bottom:16px}
.two-col p strong{color:var(--navy)}
.whys{list-style:none;display:flex;flex-direction:column;gap:13px}
.whys li{position:relative;padding-left:24px;color:var(--ink);font-size:.95rem;line-height:1.55}
.whys li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:50%;background:var(--blue)}
.whys strong{color:var(--navy)}
.industries{display:flex;flex-wrap:wrap;gap:9px;margin:6px 0 18px}
.industries span{background:#fff;border:1px solid var(--line);color:var(--navy);font-weight:500;font-size:.88rem;padding:8px 15px;border-radius:20px;box-shadow:var(--shadow)}
.industries__note{color:var(--muted);font-size:.94rem}
.industries__note strong{color:var(--navy)}

/* ===== DIFERENCIADORES ===== */
.diffs{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.diff{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.diff__n{display:block;font-family:var(--display);font-weight:800;font-size:1.6rem;color:var(--green);margin-bottom:10px}
.diff h3{font-family:var(--display);font-weight:700;color:var(--navy);font-size:1.04rem;margin-bottom:8px;line-height:1.25}
.diff p{color:var(--muted);font-size:.92rem}

/* ===== FAQ ===== */
.faq{display:flex;flex-direction:column;gap:12px;max-width:900px}
.faq__item{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);overflow:hidden}
.faq__item summary{cursor:pointer;padding:19px 22px;font-family:var(--display);font-weight:600;color:var(--navy);font-size:1rem;list-style:none;position:relative;padding-right:52px;transition:.18s}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:1.4rem;font-weight:400;color:var(--green-600);transition:.2s}
.faq__item[open] summary::after{content:"–"}
.faq__item summary:hover{background:var(--bg-tint)}
.faq__item > div{padding:0 22px 20px}
.faq__item p{color:var(--muted);font-size:.95rem}

/* ===== CTA FINAL / FORMULARIO ===== */
.section--cta{background:linear-gradient(150deg,var(--navy) 0%,var(--navy-800) 60%,#0b2130 100%);color:#fff;position:relative;overflow:hidden}
.section--cta::before{content:"";position:absolute;inset:0;background:radial-gradient(620px 320px at 15% -10%,rgba(109,182,60,.24),transparent 65%)}
.cta-grid{position:relative;display:grid;grid-template-columns:0.85fr 1.15fr;gap:44px;align-items:start}
.cta__title{font-family:var(--display);font-weight:800;font-size:clamp(1.8rem,3.6vw,2.5rem);line-height:1.1;letter-spacing:-.02em}
.cta__lead{max-width:460px;margin:16px 0 22px;color:#cddedf;font-size:1.02rem}
.cta__list{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:34px}
.cta__list li{position:relative;padding-left:24px;color:#cddedf;font-size:.94rem}
.cta__list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:700}
.cta__direct{border-top:1px solid rgba(255,255,255,.15);padding-top:22px}
.cta__direct-t{display:block;color:#8ba5aa;font-size:.82rem;margin-bottom:8px}
.cta__mail{font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--green);display:inline-block}
.cta__links{margin-top:12px;display:flex;gap:10px;color:#7d979c;font-size:.88rem}
.cta__links a:hover{color:#fff}

.form-card{background:#fff;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow-lg);color:var(--ink)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:6px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field__lbl{font-size:.84rem;font-weight:600;color:var(--navy)}
.field__lbl i{color:#c0392b;font-style:normal}
.field__in{padding:11px 13px;border:1.5px solid var(--line);border-radius:10px;font-family:var(--font);font-size:.92rem;color:var(--ink);background:#fff;width:100%}
.field__in:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(109,182,60,.14)}
.field__in.is-invalid{border-color:#c0392b}
.field__in--ta{resize:vertical;min-height:78px}
.field__err{color:#c0392b;font-size:.78rem;min-height:1em;display:block}
.fset{border:0;padding:0;margin:4px 0 16px}
.fset .field__lbl{display:block;margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-block;padding:8px 14px;border:1.5px solid var(--line);border-radius:20px;font-size:.84rem;color:var(--navy-600);transition:.16s;background:#fff}
.chip input:checked + span{background:rgba(109,182,60,.14);border-color:var(--green);color:var(--green-700);font-weight:600}
.hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.consent{display:flex;align-items:flex-start;gap:10px;margin:6px 0 2px;cursor:pointer}
.consent input{margin-top:3px;flex-shrink:0;width:16px;height:16px;accent-color:var(--green)}
.consent span{font-size:.83rem;color:var(--muted);line-height:1.55}
.consent strong{color:var(--navy)}
.consent i{color:#c0392b;font-style:normal}
.consent a{color:var(--green-700);text-decoration:underline}
.g-recaptcha{margin:14px 0 4px}
.form__submit{width:100%;margin-top:16px}
.form__note{margin-top:12px;color:var(--muted);font-size:.78rem;text-align:center}
.form__note i{color:#c0392b;font-style:normal}

.form-ok{background:#fff;border-radius:var(--radius);padding:52px 30px;box-shadow:var(--shadow-lg);text-align:center;color:var(--ink)}
.form-ok__ico{width:56px;height:56px;border-radius:50%;background:var(--green);color:#fff;font-size:1.6rem;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.form-ok h3{font-family:var(--display);font-weight:800;color:var(--navy);font-size:1.3rem;margin-bottom:10px}
.form-ok p{color:var(--muted);font-size:.95rem;margin-bottom:22px}

/* ===== FOOTER ===== */
.footer{background:var(--navy-800);color:#a9c0c3;padding:46px 0}
.footer__inner{display:flex;align-items:flex-start;gap:30px;flex-wrap:wrap}
.footer__logos{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.footer__logo{height:42px;width:auto;background:#fff;padding:8px 12px;border-radius:10px}
.footer__txt{flex:1;min-width:280px}
.footer__txt p{font-size:.93rem}
.footer__txt strong{color:#fff}
.footer__note{margin-top:12px;font-size:.79rem;color:#6f8a8f;max-width:760px;line-height:1.6}

/* ===== RESPONSIVE ===== */
@media(max-width:1200px){
  .nav__links a{padding:8px 8px;font-size:.84rem}
}
@media(max-width:1050px){
  .nav__links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:12px 24px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .nav__links.open{display:flex}
  .nav__toggle{display:flex}
  .nav__cta{display:none}
  .pains,.caps,.models{grid-template-columns:1fr 1fr}
  .diffs{grid-template-columns:1fr 1fr}
  .laws,.two-col,.backers,.cta-grid{grid-template-columns:1fr}
  .two-col{gap:44px}
}
@media(max-width:560px){
  .fgrid{grid-template-columns:1fr}
  .form-card{padding:22px}
}
@media(max-width:680px){
  .section{padding:68px 0}
  .pains,.caps,.models,.diffs,.hero__urgency{grid-template-columns:1fr}
  .hero__urgency{gap:24px}
  .footer__inner{flex-direction:column}
}
