/* =========================================================
   Entry Mexico by ALLIANCE — estilos base
   Paleta tomada del ecosistema ALLIANCE (alliance.org.mx):
   azul profundo #0E658E, verde-azulado #2B8D8F, azul grisáceo #36466D
   ========================================================= */

:root{
  --c-blue-deep:#0E658E;
  --c-teal:#2B8D8F;
  --c-navy:#36466D;
  --c-ink:#1F1E1E;
  --c-slate:#34495E;
  --c-light-bg:#D9E2EC;
  --c-white:#FFFFFF;
  --c-emlegal-dark:#15202B;
  --c-emlegal-gold:#B08D57;
  --radius-sm:6px;
  --radius-md:12px;
  --radius-lg:20px;
  --shadow-soft:0 10px 30px rgba(14,101,142,0.12);
  --font-main:'Poppins', 'Noto Sans KR', 'Noto Sans SC', 'Noto Sans Arabic', sans-serif;
  --container-w:1180px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-main);
  color:var(--c-ink);
  background:var(--c-white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{margin:0 0 .5em;font-weight:600;line-height:1.25;}
p{margin:0 0 1em;}
.container{max-width:var(--container-w);margin:0 auto;padding:0 24px;}

/* ---------- RTL support ---------- */
html[dir="rtl"] body{font-family:'Noto Sans Arabic', var(--font-main);}
html[dir="rtl"] .hero-badges li i,
html[dir="rtl"] .check-list li i,
html[dir="rtl"] .contact-channels i{margin-inline-end:0;margin-inline-start:10px;}
html[dir="rtl"] .burger span{transform:none;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 26px;border-radius:999px;font-weight:600;font-size:15px;
  border:1px solid transparent;cursor:pointer;transition:all .2s ease;white-space:nowrap;
}
.btn-lg{padding:16px 32px;font-size:16px;}
.btn-primary{background:var(--c-teal);color:#fff;}
.btn-primary:hover{background:var(--c-navy);}
.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,0.7);}
.btn-outline:hover{background:#fff;color:var(--c-blue-deep);}
.btn-outline-light{background:transparent;color:#fff;border-color:#fff;}
.btn-outline-light:hover{background:#fff;color:var(--c-navy);}

/* ---------- eyebrow / headings ---------- */
.eyebrow{
  text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:700;
  color:var(--c-teal);margin-bottom:10px;
}
.eyebrow--light{color:#9fd3d6;}
.heading--light{color:#fff;}
.section-lead{max-width:760px;font-size:17px;color:var(--c-slate);}
.subheading{margin-top:46px;color:var(--c-blue-deep);font-size:22px;}
.section-note{font-size:14px;color:#64748b;max-width:760px;margin-top:18px;}

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  position:sticky;top:0;z-index:1000;
  background:var(--c-navy);
  box-shadow:0 2px 16px rgba(0,0,0,0.12);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 24px;gap:16px;
}
.brand-lockup{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.brand-logo-alliance{height:34px;width:auto;}
.brand-divider{color:rgba(255,255,255,0.4);font-size:18px;}
.brand-emlegal{color:#fff;font-size:15px;letter-spacing:.03em;font-weight:600;}

.main-nav ul{display:flex;gap:26px;}
.main-nav a{color:#E7ECF3;font-size:14.5px;font-weight:500;transition:color .2s;}
.main-nav a:hover{color:#fff;}

.header-actions{display:flex;align-items:center;gap:14px;}
.header-cta{display:inline-flex;}

/* language switcher */
.lang-switcher{position:relative;}
.lang-btn{
  display:flex;align-items:center;gap:6px;background:rgba(255,255,255,0.08);
  color:#fff;border:1px solid rgba(255,255,255,0.25);border-radius:999px;
  padding:8px 14px;font-size:13px;cursor:pointer;
}
.lang-chevron{font-size:10px;}
.lang-menu{
  position:absolute;top:calc(100% + 8px);right:0;background:#fff;color:var(--c-ink);
  border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);min-width:150px;
  overflow:hidden;display:none;z-index:1100;
}
html[dir="rtl"] .lang-menu{right:auto;left:0;}
.lang-menu.open{display:block;}
.lang-menu li button{
  width:100%;text-align:left;padding:10px 16px;background:none;border:none;
  cursor:pointer;font-size:14px;font-family:inherit;
}
html[dir="rtl"] .lang-menu li button{text-align:right;}
.lang-menu li button:hover{background:var(--c-light-bg);}

.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:30px;height:30px;background:none;border:none;cursor:pointer;}
.burger span{display:block;width:100%;height:2px;background:#fff;border-radius:2px;}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative;color:#fff;overflow:hidden;
  background:linear-gradient(135deg, var(--c-navy) 0%, var(--c-blue-deep) 55%, var(--c-teal) 120%);
  padding:80px 0 90px;
}
.hero-bg{
  position:absolute;inset:0;
  background-image:radial-gradient(circle at 80% 20%, rgba(255,255,255,0.08), transparent 55%);
  pointer-events:none;
}
.hero-grid{
  position:relative;display:grid;grid-template-columns:1.2fr 0.9fr;gap:50px;align-items:center;
}
.hero-copy .eyebrow{color:#9fe0da;}
.hero-copy h1{font-size:44px;line-height:1.18;margin-bottom:20px;}
.hero-subtitle{font-size:17px;color:#D9E7F0;max-width:620px;}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin:28px 0 30px;}
.hero-badges{display:flex;flex-direction:column;gap:12px;}
.hero-badges li{display:flex;align-items:center;gap:10px;font-size:14.5px;color:#EAF2F8;}
.hero-badges li i{color:#8FE3DB;width:20px;}

.hero-partners{display:flex;align-items:center;gap:14px;justify-content:center;}
.partner-card{
  background:rgba(255,255,255,0.08);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,0.25);border-radius:var(--radius-lg);
  padding:26px 22px;flex:1;min-width:160px;
}
.partner-card strong{display:block;font-size:22px;margin:8px 0 6px;}
.partner-label{font-size:11px;letter-spacing:.08em;color:#9fe0da;font-weight:700;}
.partner-card p{font-size:13.5px;color:#E7ECF3;margin:0;}
.partner-plus{font-size:26px;font-weight:700;color:#fff;}
.partner-card--legal strong{color:#D8B978;}

/* =========================================================
   SECTIONS generic
   ========================================================= */
.section{padding:84px 0;}
.section--alt{background:#F3F6FA;}
.section--dark{background:var(--c-navy);color:#fff;}
.section--dark .method-steps li h3{color:#fff;}
.section--contact{background:#F7F9FC;}
.section--notice{background:#FFF8EC;border-top:1px solid #F0E3C8;border-bottom:1px solid #F0E3C8;}
.section--notice h2{color:var(--c-navy);font-size:22px;}
.section--notice p{color:#5b5346;font-size:14.5px;max-width:900px;}
.section--legalpage{padding:50px 0;border-bottom:1px solid #eef1f5;}
.section--legalpage h2{color:var(--c-blue-deep);font-size:24px;}
.section--legalpage p{color:#475569;max-width:860px;font-size:14.5px;}
.section--legalpage a{color:var(--c-teal);text-decoration:underline;}

.center-cta{text-align:center;margin-top:40px;}

/* why grid */
.why-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:34px;
}
.why-grid li{
  background:#fff;border:1px solid #E7EDF3;border-radius:var(--radius-md);
  padding:22px 20px;font-size:14.5px;color:var(--c-slate);box-shadow:0 6px 18px rgba(15,40,70,0.04);
}
.why-grid li strong{display:block;color:var(--c-blue-deep);margin-bottom:6px;font-size:15.5px;}

/* =========================================================
   ALIANZA — tarjetas ALLIANCE / E.M. LEGAL
   ========================================================= */
.alliance-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px;}
.alliance-card{
  border-radius:var(--radius-lg);padding:34px 30px;color:#fff;
  box-shadow:var(--shadow-soft);
}
.alliance-card--blue{background:linear-gradient(160deg, var(--c-blue-deep), var(--c-teal));}
.alliance-card--dark{background:linear-gradient(160deg, var(--c-emlegal-dark), #263445);}
.alliance-card-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.alliance-card-icon{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:8px;padding:4px;}
.alliance-card-head h3{margin:0;font-size:24px;}
.emlegal-name{
  font-family:Arial, Helvetica, sans-serif;font-weight:600;letter-spacing:.01em;
}
.alliance-card .tag{
  font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;
  background:rgba(255,255,255,0.15);padding:5px 12px;border-radius:999px;font-weight:600;
}
.alliance-card p{font-size:15px;color:rgba(255,255,255,0.92);}
.alliance-card ul{margin:16px 0;display:flex;flex-direction:column;gap:10px;}
.alliance-card ul li{display:flex;gap:10px;font-size:14.5px;align-items:flex-start;}
.alliance-card ul li i{margin-top:3px;color:#B9E6E0;}
.alliance-card--dark ul li i{color:var(--c-emlegal-gold);}
.alliance-card .disclaimer{
  font-size:12.5px;color:rgba(255,255,255,0.72);border-top:1px solid rgba(255,255,255,0.2);
  padding-top:14px;margin-top:16px;margin-bottom:0;
}
/* =========================================================
   ESTUDIOS
   ========================================================= */
.studies-steps{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;
}
.studies-steps .step{
  background:#fff;border-radius:var(--radius-md);padding:26px 22px;border:1px solid #E7EDF3;
  box-shadow:0 6px 18px rgba(15,40,70,0.04);
}
.studies-steps .step span{
  display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;
  background:var(--c-teal);color:#fff;border-radius:50%;font-weight:700;margin-bottom:12px;
}
.studies-steps .step h4{color:var(--c-blue-deep);margin-bottom:6px;font-size:16px;}
.studies-steps .step p{font-size:14px;color:var(--c-slate);margin:0;}

.studies-tiers{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;
  background:#EAF1F6;border-radius:var(--radius-lg);padding:28px;
}
.studies-tiers .tier h4{color:var(--c-navy);font-size:17px;margin-bottom:8px;}
.studies-tiers .tier p{font-size:14px;color:#51607a;margin:0;}

/* =========================================================
   DESARROLLO COMERCIAL
   ========================================================= */
.two-col{display:grid;grid-template-columns:1.1fr 0.9fr;gap:50px;align-items:center;}
.check-list{display:flex;flex-direction:column;gap:14px;margin:26px 0;}
.check-list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--c-slate);}
.check-list li i{color:var(--c-teal);margin-top:4px;}

.method-mini{
  background:linear-gradient(160deg,#fff,#EAF1F6);border-radius:var(--radius-lg);
  padding:30px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:18px;
}
.method-mini .mm-item{display:flex;gap:14px;align-items:flex-start;}
.method-mini .mm-num{
  flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--c-blue-deep);
  color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;
}
.method-mini h5{margin:0 0 4px;color:var(--c-navy);font-size:15px;}
.method-mini p{margin:0;font-size:13.5px;color:#5b6b85;}

/* =========================================================
   LEGAL
   ========================================================= */
.legal-partners{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:36px 0 10px;}
.legal-partner-card{
  background:#fff;border-radius:var(--radius-md);padding:22px;border:1px solid #E7EDF3;
  text-align:center;
}
.legal-partner-card .name{font-size:17px;font-weight:700;color:var(--c-navy);}
.legal-partner-card .role{font-size:13px;color:var(--c-teal);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;}

.roadmap{counter-reset:step;display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px;}
.roadmap li{
  position:relative;background:#fff;border:1px solid #E7EDF3;border-radius:var(--radius-md);
  padding:22px 22px 22px 60px;box-shadow:0 6px 18px rgba(15,40,70,0.04);
}
html[dir="rtl"] .roadmap li{padding:22px 60px 22px 22px;}
.roadmap li::before{
  counter-increment:step;content:counter(step);
  position:absolute;left:18px;top:22px;width:30px;height:30px;border-radius:50%;
  background:var(--c-blue-deep);color:#fff;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:13px;
}
html[dir="rtl"] .roadmap li::before{left:auto;right:18px;}
.roadmap li h4{margin:0 0 6px;color:var(--c-navy);font-size:15.5px;}
.roadmap li p{margin:0;font-size:13.5px;color:#5b6b85;}

.legal-areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px;}
.legal-areas .area{
  background:#15202B;color:#fff;border-radius:var(--radius-md);padding:20px;
}
.legal-areas .area i{color:var(--c-emlegal-gold);font-size:20px;margin-bottom:10px;display:block;}
.legal-areas .area h4{margin:0 0 6px;font-size:15px;}
.legal-areas .area p{margin:0;font-size:13px;color:#C9D2DB;}

/* =========================================================
   INDUSTRIAS
   ========================================================= */
.industry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:34px;}
.industry-grid .ind{
  background:#fff;border:1px solid #E7EDF3;border-radius:var(--radius-md);
  padding:24px 18px;text-align:center;box-shadow:0 6px 18px rgba(15,40,70,0.04);
}
.industry-grid .ind i{font-size:26px;color:var(--c-blue-deep);margin-bottom:10px;}
.industry-grid .ind h4{font-size:14.5px;margin:0;color:var(--c-navy);}

/* =========================================================
   MÉTODO (timeline)
   ========================================================= */
.method-steps{
  list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:40px;counter-reset:ms;
}
.method-steps li{
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.15);
  border-radius:var(--radius-md);padding:22px 18px;
}
.method-steps li span{
  display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--c-teal);
  color:#fff;align-items:center;justify-content:center;font-weight:700;font-size:13px;margin-bottom:12px;
}
.method-steps li h3{font-size:16px;margin-bottom:6px;}
.method-steps li p{font-size:13.5px;color:#C9D7E4;margin:0;}

/* =========================================================
   CTA BANNER
   ========================================================= */
.cta-banner{
  background:linear-gradient(120deg,var(--c-teal),var(--c-blue-deep));color:#fff;padding:60px 0;
}
.cta-banner-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;}
.cta-banner h2{font-size:28px;margin-bottom:8px;}
.cta-banner p{margin:0;color:#E7F3F1;max-width:480px;}
.cta-banner-actions{display:flex;gap:14px;flex-wrap:wrap;}

/* =========================================================
   CONTACTO / FORM
   ========================================================= */
.contact-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:50px;}
.contact-channels{display:flex;flex-direction:column;gap:14px;margin-top:26px;}
.contact-channels a{
  display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #E7EDF3;
  border-radius:var(--radius-md);padding:14px 18px;font-weight:600;color:var(--c-navy);
  box-shadow:0 6px 18px rgba(15,40,70,0.04);transition:transform .15s;
}
.contact-channels a:hover{transform:translateY(-2px);}
.contact-channels i{color:var(--c-teal);font-size:18px;width:22px;}

.contact-form-wrap{
  background:#fff;border:1px solid #E7EDF3;border-radius:var(--radius-lg);
  padding:30px;box-shadow:var(--shadow-soft);
}
.form-placeholder-badge{
  background:#FFF4DC;color:#8A6400;font-size:12.5px;padding:10px 14px;border-radius:var(--radius-sm);
  margin-bottom:20px;border:1px dashed #E6C879;
}
.form-row{margin-bottom:16px;}
.form-row label{display:block;font-size:13.5px;font-weight:600;color:var(--c-navy);margin-bottom:6px;}
.form-row input[type="text"],
.form-row input[type="email"],
.form-row textarea{
  width:100%;padding:11px 14px;border:1px solid #D7E0EA;border-radius:var(--radius-sm);
  font-family:inherit;font-size:14.5px;background:#FBFCFE;
}
.form-row input:focus,.form-row textarea:focus{outline:2px solid var(--c-teal);outline-offset:1px;}
.form-row--half{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.checkbox-group{display:flex;flex-wrap:wrap;gap:12px;}
.checkbox-group label{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:400;color:var(--c-slate);}
.privacy-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#5b6b85;font-weight:400;}
.privacy-check a{color:var(--c-teal);text-decoration:underline;}
.form-submit{width:100%;margin-top:6px;}
.form-status{margin-top:14px;padding:12px 14px;border-radius:var(--radius-sm);font-size:13.5px;}
.form-status--success{background:#E6F7EF;color:#1D7A46;}
.form-status--error{background:#FDEAEA;color:#B23B3B;}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{background:#101826;color:#C9D2DB;padding:60px 0 0;}
.footer-top{display:grid;grid-template-columns:1.3fr 0.8fr 0.9fr 1fr;gap:34px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,0.08);}
.footer-logo{height:30px;margin-bottom:14px;}
.footer-brand p{font-size:13.5px;color:#9BA8B7;}
.footer-rights{font-size:12px;color:#6D7A8B;}
.footer-col h4{color:#fff;font-size:14px;margin-bottom:14px;}
.footer-col ul{display:flex;flex-direction:column;gap:10px;}
.footer-col a{font-size:13.5px;color:#AEB9C6;}
.footer-col a:hover{color:#fff;}
.footer-bottom{padding:20px 24px 26px;text-align:center;}
.footer-bottom p{font-size:12px;color:#6D7A8B;margin:0;}

/* =========================================================
   WHATSAPP FLOAT
   ========================================================= */
.wa-float{
  position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;
  background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:26px;box-shadow:0 8px 24px rgba(0,0,0,0.25);z-index:999;
}
html[dir="rtl"] .wa-float{right:auto;left:24px;}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:991px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-partners{margin-top:30px;}
  .alliance-cards{grid-template-columns:1fr;}
  .two-col{grid-template-columns:1fr;}
  .two-col-visual{order:-1;}
  .legal-partners{grid-template-columns:1fr;}
  .roadmap{grid-template-columns:1fr;}
  .studies-steps{grid-template-columns:1fr 1fr;}
  .studies-tiers{grid-template-columns:1fr;}
  .method-steps{grid-template-columns:repeat(3,1fr);}
  .contact-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr;}
}

@media (max-width:767px){
  .main-nav{
    position:fixed;top:66px;left:0;right:0;background:var(--c-navy);
    display:flex;flex-direction:column;padding:10px 24px 20px;
    transform:translateY(-120%);opacity:0;transition:all .25s ease;pointer-events:none;
  }
  .main-nav.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .main-nav ul{flex-direction:column;gap:4px;}
  .main-nav a{display:block;padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.08);}
  .burger{display:flex;}
  .header-cta{display:none;}

  .hero{padding:50px 0 60px;}
  .hero-copy h1{font-size:30px;}
  .hero-ctas{flex-direction:column;}
  .hero-ctas .btn{width:100%;}
  .hero-partners{flex-direction:column;}
  .partner-plus{transform:rotate(90deg);}

  .section{padding:56px 0;}
  .studies-steps{grid-template-columns:1fr;}
  .method-steps{grid-template-columns:1fr 1fr;}
  .form-row--half{grid-template-columns:1fr;}
  .cta-banner-inner{flex-direction:column;text-align:center;}
  .footer-top{grid-template-columns:1fr;text-align:center;}
  .footer-col ul{align-items:center;}
  .contact-channels a{justify-content:center;}
}
