/* ELF - portada (residence permit): CSS del diseno original, scopeado bajo #main .llhome-wrap */
#main .llhome-wrap{--navy-950:#0c1526;
    --navy-900:#0f1c31;
    --navy-800:#152540;
    --navy-700:#1d3157;
    --paper:#f6f2ea;
    --paper-dim:#ece5d7;
    --ink:#151310;
    --ink-soft:#4a4640;
    --brass:#b98b3f;
    --brass-bright:#d9a54f;
    --terracotta:#b4553a;
    --line:rgba(21,19,16,0.12);
    --line-dark:rgba(246,242,234,0.14);
    --radius:2px;
    --font-display:"Fraunces", Georgia, "Times New Roman", serif;
    --font-body:"Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color-scheme: light;}
#main .llhome-wrap *{box-sizing:border-box; margin:0; padding:0;}
#main .llhome-wrap{scroll-behavior:smooth;
    scroll-padding-top: calc(78px + env(safe-area-inset-top,0px));}
#main .llhome-wrap{background:var(--paper);
    color:var(--ink);
    font-family:var(--font-body);
    line-height:1.6;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
    overflow-x:hidden;}
#main .llhome-wrap img{max-width:100%; display:block;}
#main .llhome-wrap a{color:inherit;}
#main .llhome-wrap .wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
#main .llhome-wrap .eyebrow{font-family:var(--font-body);
    font-weight:700;
    font-size:12.5px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--brass);}
#main .llhome-wrap h1, #main .llhome-wrap h2, #main .llhome-wrap h3{font-family:var(--font-display); font-weight:600; line-height:1.08; letter-spacing:-0.01em;}
#main .llhome-wrap .hero{position:relative;
    background:
      radial-gradient(ellipse 900px 500px at 82% -10%, rgba(185,139,63,0.18), transparent 60%),
      linear-gradient(180deg, var(--navy-950), var(--navy-900) 60%, var(--navy-800));
    color:var(--paper);
    padding:88px 0 96px;
    overflow:hidden;}
#main .llhome-wrap .hero::before{content:"";
    position:absolute; inset:0;
    background-image:
      repeating-linear-gradient(90deg, rgba(246,242,234,0.035) 0px, rgba(246,242,234,0.035) 1px, transparent 1px, transparent 84px);
    pointer-events:none;}
#main .llhome-wrap .hero-grid{position:relative; z-index:1;
    display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:start;}
#main .llhome-wrap .hero h1{font-size:clamp(2.3rem, 4.4vw, 3.6rem);
    color:var(--paper);
    margin:18px 0 22px;}
#main .llhome-wrap .hero h1 em{font-style:italic; color:var(--brass-bright);}
#main .llhome-wrap .hero-sub{font-size:18px; color:#cfd3dd; max-width:52ch; margin-bottom:34px;}
#main .llhome-wrap .hero-points{display:flex; flex-wrap:wrap; gap:22px; margin-bottom:8px;}
#main .llhome-wrap .hero-points li{list-style:none; display:flex; align-items:center; gap:9px;
    font-size:14.5px; color:#dfe2ea;}
#main .llhome-wrap .hero-points svg{flex:none; width:17px; height:17px; color:var(--brass-bright);}
#main .llhome-wrap .hero-btn-row{margin-top:32px; display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
#main .llhome-wrap .btn-primary{display:inline-flex; align-items:center; gap:10px;
    background:var(--terracotta); color:#fff;
    font-weight:700; font-size:16px;
    padding:17px 30px; border-radius:var(--radius);
    text-decoration:none; border:none; cursor:pointer;
    box-shadow:0 14px 30px -12px rgba(180,85,58,0.55);
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;}
#main .llhome-wrap .btn-primary:hover{background:#c66246; transform:translateY(-2px); box-shadow:0 18px 34px -10px rgba(180,85,58,0.6);}
#main .llhome-wrap .hero-note{font-size:13px; color:#9aa0b0;}
#main .llhome-wrap .lead-card{background:var(--paper); color:var(--ink);
    border-radius:6px; padding:30px 28px 28px;
    box-shadow:0 30px 60px -20px rgba(0,0,0,0.45);
    position:relative; z-index:1;}
#main .llhome-wrap .lead-card h3{font-size:21px; margin-bottom:6px; color:var(--navy-900);}
#main .llhome-wrap .lead-card p.sub{font-size:14px; color:var(--ink-soft); margin-bottom:20px;}
#main .llhome-wrap .field{margin-bottom:14px;}
#main .llhome-wrap .field label{display:block; font-size:12.5px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:6px;}
#main .llhome-wrap .field input, #main .llhome-wrap .field select, #main .llhome-wrap .field textarea{width:100%; border:1px solid var(--line); border-radius:3px;
    padding:11px 12px; font-family:var(--font-body); font-size:15px;
    background:#fff; color:var(--ink);}
#main .llhome-wrap .field textarea{resize:vertical; min-height:70px;}
#main .llhome-wrap .field input:focus, #main .llhome-wrap .field select:focus, #main .llhome-wrap .field textarea:focus{outline:2px solid var(--brass); outline-offset:1px;}
#main .llhome-wrap .lead-submit{width:100%; background:var(--navy-900); color:#fff;
    border:none; border-radius:3px; padding:15px 18px;
    font-weight:700; font-size:15.5px; cursor:pointer;
    margin-top:6px; transition:background .18s ease;}
#main .llhome-wrap .lead-submit:hover{background:var(--navy-700);}
#main .llhome-wrap .lead-fine{font-size:11.5px; color:var(--ink-soft); margin-top:12px; text-align:center;}
#main .llhome-wrap .proof{background:var(--paper-dim);
    border-bottom:1px solid var(--line);
    padding:34px 0;}
#main .llhome-wrap .proof-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
#main .llhome-wrap .proof-num{font-family:var(--font-display); font-size:clamp(1.7rem,3vw,2.3rem); font-weight:700; color:var(--navy-900);}
#main .llhome-wrap .proof-label{font-size:13px; color:var(--ink-soft); margin-top:4px;}
#main .llhome-wrap section{padding:92px 0;}
#main .llhome-wrap .section-head{max-width:640px; margin-bottom:52px;}
#main .llhome-wrap .section-head h2{font-size:clamp(1.9rem,3.3vw,2.5rem); margin:12px 0 16px; color:var(--navy-900);}
#main .llhome-wrap .section-head p{font-size:17px; color:var(--ink-soft);}
#main .llhome-wrap .pain{background:var(--navy-950); color:var(--paper);}
#main .llhome-wrap .pain .section-head h2{color:var(--paper);}
#main .llhome-wrap .pain .section-head p{color:#c3c8d4;}
#main .llhome-wrap .pain-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
#main .llhome-wrap .pain-card{border:1px solid var(--line-dark); border-radius:4px; padding:28px 24px;
    background:linear-gradient(180deg, rgba(255,255,255,0.03), transparent);}
#main .llhome-wrap .pain-card .num{font-family:var(--font-display); font-size:15px; color:var(--brass-bright); margin-bottom:14px; display:block;}
#main .llhome-wrap .pain-card h3{font-family:var(--font-body); font-size:18px; font-weight:700; color:var(--paper); margin-bottom:10px;}
#main .llhome-wrap .pain-card p{font-size:14.5px; color:#b7bcc9;}
#main .llhome-wrap .benefits-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
#main .llhome-wrap .benefit-card{border-top:3px solid var(--brass);
    padding-top:20px;}
#main .llhome-wrap .benefit-card .icon{width:42px; height:42px; border-radius:50%;
    background:var(--navy-900); color:var(--brass-bright);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:18px;}
#main .llhome-wrap .benefit-card h3{font-size:19px; margin-bottom:9px; color:var(--navy-900);}
#main .llhome-wrap .benefit-card p{font-size:14.5px; color:var(--ink-soft);}
#main .llhome-wrap .countries{background:var(--paper-dim); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
#main .llhome-wrap .countries .wrap{padding:46px 28px;}
#main .llhome-wrap .countries-list{display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:22px;
    font-size:14.5px; color:var(--ink-soft);}
#main .llhome-wrap .countries-list span{white-space:nowrap;}
#main .llhome-wrap .countries-list span::before{content:"—  ";}
#main .llhome-wrap .faq-list{max-width:820px;}
#main .llhome-wrap details{border-bottom:1px solid var(--line); padding:22px 0;}
#main .llhome-wrap details summary{list-style:none; cursor:pointer;
    display:flex; align-items:center; justify-content:space-between; gap:20px;
    font-family:var(--font-display); font-weight:600; font-size:18px; color:var(--navy-900);}
#main .llhome-wrap details summary::-webkit-details-marker{display:none;}
#main .llhome-wrap details summary::after{content:"+"; flex:none; font-size:22px; color:var(--brass); font-family:var(--font-body); font-weight:400;
    transition:transform .2s ease;}
#main .llhome-wrap details[open] summary::after{content:"–";}
#main .llhome-wrap details p{margin-top:14px; font-size:15px; color:var(--ink-soft); max-width:70ch;}
#main .llhome-wrap .final-cta{background:
      radial-gradient(ellipse 700px 400px at 20% 0%, rgba(185,139,63,0.22), transparent 60%),
      linear-gradient(160deg, var(--navy-900), var(--navy-950));
    color:var(--paper); text-align:center;}
#main .llhome-wrap .final-cta h2{color:var(--paper); font-size:clamp(2rem,4vw,2.9rem); max-width:720px; margin:0 auto 18px;}
#main .llhome-wrap .final-cta p{color:#c9cdd8; max-width:560px; margin:0 auto 34px; font-size:17px;}
@media (max-width:900px){
  #main .llhome-wrap .hero-grid{grid-template-columns:1fr;}
  #main .llhome-wrap .proof-grid{grid-template-columns:repeat(2,1fr); row-gap:26px;}
  #main .llhome-wrap .pain-grid, #main .llhome-wrap .benefits-grid{grid-template-columns:1fr 1fr; row-gap:26px;}
}
@media (max-width:600px){
  #main .llhome-wrap .wrap{padding:0 20px;}
  #main .llhome-wrap section{padding:64px 0;}
  #main .llhome-wrap .pain-grid, #main .llhome-wrap .benefits-grid{grid-template-columns:1fr;}
}

/* Bloque de enlaces internos (nuevo, no venia en el diseno original) */
#main .llhome-wrap .links-block{background:var(--paper);}
#main .llhome-wrap .links-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;}
#main .llhome-wrap .link-card{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  border:1px solid var(--line); background:#fff; padding:16px 18px;
  text-decoration:none; color:var(--navy-900); font-weight:600; font-size:15px;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
#main .llhome-wrap .link-card:hover{border-color:var(--brass); transform:translateY(-2px); box-shadow:0 10px 24px -16px rgba(0,0,0,.35);}
#main .llhome-wrap .link-arrow{color:var(--brass); flex:none;}
@media (max-width:900px){ #main .llhome-wrap .links-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ #main .llhome-wrap .links-grid{grid-template-columns:1fr;} }

/* La portada va pegada a la cabecera: sin padding del contenedor del tema */
#main { padding-top: 0 !important; padding-bottom: 0 !important; }
#main > .fusion-row, #main .fusion-builder-row { padding-top: 0; padding-bottom: 0; }

/* ==== Home general: hero en columnas nativas de Fusion ==== */
#main .llhome-hero{position:relative;
  padding:86px 0 92px;
  /* Los colores del diseno se repiten aqui porque el contenedor Fusion esta FUERA
     de .llhome-wrap: una custom property con var() sin resolver deja la propiedad
     invalida (background-image: none) aunque la regla se aplique. */
  --navy-950:#0c1526; --navy-900:#0f1c31; --navy-800:#152540;
  --awb-background-image: radial-gradient(ellipse 900px 500px at 82% -10%, rgba(185,139,63,0.18), transparent 60%),
    linear-gradient(180deg, #0c1526, #0f1c31 60%, #152540);
  --awb-background-position: center center;
  --awb-background-size: auto;
  --awb-background-repeat: no-repeat;
  --awb-background-color: transparent;
  background-image: radial-gradient(ellipse 900px 500px at 82% -10%, rgba(185,139,63,0.18), transparent 60%),
    linear-gradient(180deg, #0c1526, #0f1c31 60%, #152540);
  color:#f6f2ea;
  overflow:hidden;}
#main .llhome-hero::before{content:""; position:absolute; inset:0; pointer-events:none;
  background-image:repeating-linear-gradient(90deg, rgba(246,242,234,0.035) 0px, rgba(246,242,234,0.035) 1px, transparent 1px, transparent 84px);}
#main .llhome-hero .fusion-builder-row{position:relative; z-index:1;}
#main .llhome-wrap.hero,
#main .llhome-hero .llhome-wrap .hero{background:none; padding:0; overflow:visible;}
#main .llhome-wrap.hero .hero-grid{display:block;}
#main .llhome-hero .lead-card{margin-top:4px;}
#main .llhome-sec .fusion-column-wrapper{background:transparent;}
#main .llhome-wrap .how{padding:84px 0;}
#main .llhome-wrap .links-block .more{margin-top:24px; font-weight:600;}
#main .llhome-wrap .links-block .more a{color:var(--brass); text-decoration:none;}
#main .llhome-wrap .links-block .more a:hover{text-decoration:underline;}

/* ===== P1-10 (2026-09-25): hero de la portada en movil =====
   1) El contenedor del hero tiene el degradado navy, pero el envoltorio .llhome-wrap
      pinta el crema de la portada (el diseno original llevaba el hero en un unico div
      .llhome-wrap.hero). Efecto real: el crema tapaba el navy y el h1 (color crema)
      quedaba invisible sobre el. Se hace transparente SOLO en el hero. */
#main .llhome-hero .llhome-wrap{background:none;}

/* 2) La fila interna de Fusion (`.fusion-builder-row.fusion-row` dentro del contenedor)
      lleva estilo EN LINEA `width:104% !important; margin:0 calc(-4% / 2)`, que no se
      puede sobrescribir por CSS (el !important en linea gana). Se compensa desde el
      contenedor: con padding lateral, el 104 % de su ancho util cabe en el viewport y
      la fila deja de medir 406 px dentro de 390 px. Solo en movil. */
@media (max-width:782px){
  #main .llhome-hero{padding-left:20px; padding-right:20px;}
}
