/* Astrolabio Consultores — estilos del sitio */
:root{
  --tinta:#1F1E1D; --hueso:#FAF9F5; --arena:#EFEAE1; --terracota:#D97757;
  --terracota-osc:#A8553A; --texto:#4A443C; --gris:#6E6862; --borde:#E2DACB;
  --linea-osc:#3A3733; --claro-osc:#D8D2C8; --tenue-osc:#B0A79A;
  --ancho:1180px; --pad:clamp(20px,5vw,56px); --seccion:clamp(56px,8vw,96px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--hueso);color:var(--texto);font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--terracota-osc)}
a:hover{color:var(--tinta)}
h1,h2,h3{font-family:'Newsreader',Georgia,serif;font-weight:400;letter-spacing:-.018em;color:var(--tinta);text-wrap:pretty;margin:0}
h3{font-family:'Poppins',system-ui,sans-serif;font-weight:600;letter-spacing:0}
p{margin:0;text-wrap:pretty}
.env{max-width:var(--ancho);margin-inline:auto;padding-inline:var(--pad)}
.sec{padding-block:var(--seccion)}
.sec--arena{background:var(--arena)}
.sec--tinta{background:var(--tinta);color:var(--claro-osc)}
.sec--tinta h2,.sec--tinta h3,.sec--tinta strong{color:var(--hueso)}
.intro{max-width:64ch;margin-bottom:48px}
.intro p{margin-top:18px;font-size:19px}
h2{font-size:clamp(30px,3.6vw,42px);line-height:1.14}
.saltar{position:absolute;left:-9999px}
.saltar:focus{left:16px;top:16px;z-index:100;background:var(--hueso);color:var(--tinta);padding:12px 18px;border-radius:8px}

/* Cabecera */
.cab{background:var(--tinta);position:sticky;top:0;z-index:50}
.cab .env{display:flex;align-items:center;gap:24px;flex-wrap:wrap;min-height:76px;padding-block:12px}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.marca svg{color:var(--terracota);flex:none}
.marca b{font-size:21px;font-weight:600;letter-spacing:-.025em;color:var(--hueso);line-height:1;display:block}
.marca > span > span{font-size:11px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--tenue-osc);line-height:1;display:block;margin-top:3px}
.marca b{text-transform:none}
.nav{display:flex;gap:18px;flex-wrap:wrap;row-gap:8px}
@media (max-width:1080px){
  .cab .env{gap:16px}
  .nav{gap:13px;font-size:14.5px}
  .idioma{padding:6px 13px;font-size:14px}
}
.nav a{color:var(--claro-osc);text-decoration:none;font-size:16px;font-weight:500}
.nav a:hover{color:var(--terracota)}
.idioma{display:inline-flex;align-items:center;color:var(--claro-osc);text-decoration:none;font-size:15px;font-weight:500;border:1px solid var(--linea-osc);border-radius:999px;padding:7px 16px}
.idioma:hover{border-color:var(--terracota);color:var(--terracota)}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:14px 28px;border-radius:10px;font-size:17px;font-weight:600;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:inherit;text-align:center}
.btn--pri{background:var(--terracota-osc);color:var(--hueso)}
.btn--pri:hover{background:var(--terracota);color:var(--tinta)}
.btn--fan{background:transparent;color:var(--hueso);border-color:#5A544D}
.btn--fan:hover{border-color:var(--terracota);color:var(--terracota)}
.btn--osc{background:var(--tinta);color:var(--hueso)}
.btn--osc:hover{background:var(--terracota-osc);color:var(--hueso)}
.botones{display:flex;flex-wrap:wrap;gap:16px;margin-top:36px}

/* Portada */
.portada{background:var(--tinta);color:var(--claro-osc);padding-block:clamp(56px,9vw,112px);overflow:hidden}
.portada .env{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(32px,5vw,64px);align-items:center}
.antetitulo{font-size:14px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--terracota);margin-bottom:20px}
.portada h1{font-size:clamp(42px,5.6vw,68px);line-height:1.08;letter-spacing:-.02em;color:var(--hueso)}
.portada .bajada{margin-top:24px;font-size:clamp(17px,1.7vw,21px);line-height:1.6;max-width:52ch;color:var(--claro-osc)}
.emblema{justify-self:center;color:var(--terracota);opacity:.9}
.emblema svg{width:min(360px,64vw);height:auto}
.regla{height:13px;border-top:1px solid var(--linea-osc);background-image:repeating-linear-gradient(to right,var(--linea-osc) 0 1px,transparent 1px 13px);background-size:100% 7px;background-repeat:no-repeat;margin-bottom:36px}
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:32px 40px;margin:0;padding:0;list-style:none}
.cifras li{border-top:2px solid var(--terracota);padding-top:18px}
.cifras b{display:block;font-family:'Newsreader',Georgia,serif;font-weight:400;font-size:44px;color:var(--hueso);line-height:1;margin-bottom:10px}
.cifras b.txt{font-size:30px;line-height:1.15}
.cifras p{font-size:16px;color:var(--claro-osc)}

/* Rejillas */
.rej{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:40px;margin:0;padding:0;list-style:none}
.rej h3{font-size:20px;line-height:1.35;margin-bottom:10px}
.rej p{font-size:17px}
.rej--linea li{border-top:1px solid var(--borde);padding-top:22px}
.sec--tinta .rej--linea li{border-top:2px solid var(--terracota)}
.serv{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 56px;margin:0;padding:0;list-style:none;border-top:1px solid var(--borde)}
.serv li{border-bottom:1px solid var(--borde);padding:36px 0}
.serv svg{margin-bottom:16px}
.serv h3{font-size:21px;margin-bottom:12px}
.serv p{font-size:17px}
.serv ul{margin:16px 0 0;padding-left:19px;font-size:16.5px}
.serv ul li{border:0;padding:0;margin-bottom:6px}
.pasos{margin:0;padding:0;list-style:none;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.pasos li{border-top:1px solid var(--borde);padding-top:20px}
.pasos b{display:block;font-family:'Newsreader',Georgia,serif;font-weight:400;font-size:30px;color:var(--terracota-osc);line-height:1;margin-bottom:12px}
.pasos h3{font-size:20px;margin-bottom:8px}
.pasos p{font-size:17px}

/* Bloques de texto */
.destacado{max-width:64ch;border-left:4px solid var(--terracota-osc);padding-left:clamp(20px,3vw,32px)}
.destacado p{margin-top:16px;font-size:18px}
.destacado p:first-of-type{margin-top:24px}
.nota{color:var(--gris);font-size:16px}
.dos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(32px,5vw,56px);align-items:start}
.persona{display:flex;align-items:center;gap:24px;margin-top:32px;flex-wrap:wrap}
.persona img{width:152px;height:190px;object-fit:cover;object-position:50% 20%;border-radius:14px;flex:none;background:var(--linea-osc)}
.persona strong{font-size:19px;font-weight:600;display:block}
.persona span{font-size:16px;color:var(--tenue-osc)}
.hitos{margin:0;padding-left:20px;font-size:17px}
.hitos li{margin-bottom:14px}
.parrafos p{margin-top:16px;font-size:18px}
.parrafos p:first-child{margin-top:28px}

/* Preguntas */
.faq{max-width:78ch}
.faq details{border-top:1px solid var(--borde)}
.faq details:last-child{border-bottom:1px solid var(--borde)}
.faq summary{cursor:pointer;padding:20px 0;font-weight:600;color:var(--tinta);font-size:19px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq p{padding:0 0 22px;font-size:17px;max-width:64ch}

/* Formulario */
.form{display:grid;gap:22px}
.campo{display:grid;gap:7px}
.campo label{font-weight:600;color:var(--tinta);font-size:16px}
.campo input,.campo select,.campo textarea{font-family:inherit;font-size:17px;color:var(--tinta);background:#fff;border:1px solid #B9AF9E;border-radius:8px;padding:14px;min-height:52px;width:100%;line-height:1.6}
.campo textarea{min-height:150px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid var(--terracota-osc);outline-offset:1px}
.oculto{position:absolute;left:-9999px}
.datos{margin:0;border-top:1px solid var(--borde);padding-top:26px}
.datos dt{font-weight:600;color:var(--tinta);margin-top:22px}
.datos dt:first-child{margin-top:0}
.datos dd{margin:6px 0 0}

/* Pie */
.pie{background:var(--tinta);color:#A39B8E;padding-block:56px;font-size:16px}
.pie .fila{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;align-items:flex-start}
.pie a{color:var(--claro-osc)}
.pie a:hover{color:var(--terracota)}
.pie .lista{line-height:1.9}
.pie .legal{margin-top:32px;padding-top:22px;border-top:1px solid var(--linea-osc);font-size:15px}

/* CTA móvil + cookies */
#cta-movil{display:none}
@media (max-width:820px){
  #cta-movil{position:fixed;bottom:0;left:0;right:0;z-index:60;transition:transform .2s ease;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px;background:var(--tinta);border-top:1px solid var(--linea-osc)}
  #cta-movil .btn{min-height:52px;padding:12px;font-size:16px}
  body{padding-bottom:84px}
}
#cookies{position:fixed;bottom:0;left:0;right:0;z-index:70;background:var(--tinta);color:var(--claro-osc);border-top:1px solid var(--linea-osc);padding:18px var(--pad)}
#cookies .caja{max-width:var(--ancho);margin-inline:auto;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
#cookies p{font-size:16px;max-width:72ch}
#cookies a{color:var(--terracota)}
#cookies .acc{display:flex;gap:10px;flex-wrap:wrap}
#cookies button{min-height:48px;padding:12px 20px;font-size:16px}
.mini{max-width:74ch}
.mini h1{font-size:clamp(32px,4vw,46px);line-height:1.12}
.mini h2{font-size:clamp(22px,2.4vw,28px);margin-top:40px}
.mini p,.mini li{font-size:17px;margin-top:14px}
.mini ul{padding-left:20px}

/* Mientras el aviso de cookies está visible, el CTA móvil se oculta para no quedar tapado */
body.con-aviso #cta-movil{transform:translateY(120%);pointer-events:none}
