:root{--color-bg:#fef8f0;--color-dark:#5d5e54;--color-text:#3a3a38;--color-muted:#7a7a70;--color-accent:#c9a87c;--color-warm:#e8ddd0;--color-light:#f5ede2;--color-cream:#fef8f0;--font-main:'Lato',sans-serif}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:100%}
body{font-family:'Lato',sans-serif;font-size:1rem;min-height:100vh;color:#3a3a38;background-color:#fef8f0}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{font-family:'Lato',sans-serif}
h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:bold;font-style:italic;color:#5d5e54;line-height:1.2;margin-bottom:1rem}
h2{font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:300;color:#5d5e54;margin-bottom:.75rem;line-height:1.35}
h3{font-size:1.1rem;font-weight:400;color:#7a7a70;margin-bottom:.5rem}
p{font-size:1rem;font-weight:300;color:#7a7a70;margin-bottom:1rem;line-height:1.75}
p:last-child{margin-bottom:0}
@keyframes fadeInUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.reveal-delay-5{transition-delay:.5s}.reveal-delay-6{transition-delay:.6s}
.hero-texto{animation:slideInLeft .8s ease both}
.hero-imagen-wrap{animation:fadeIn 1s ease .3s both}
header{background-color:#5d5e54;padding:1.5rem 5%;position:sticky;top:0;width:100%;z-index:1000}
.navbar{display:flex;align-items:center;justify-content:space-between}
.logo{width: 15rem;height:auto;object-fit:contain}
.nav-links{display:flex;gap:1rem;align-items:center}
.nav-links a{color:#fef8f0;font-size:1rem;font-style:italic;padding:8px 20px;border:1.5px solid #fef8f0;border-radius:50px;transition:background-color .25s ease,color .25s ease,border-color .25s ease}
.nav-links a:hover{background-color:#c9a87c;border-color:#c9a87c;color:#fff}
.nav-links .btn-contacto{background-color:#e8ddd0;color:#5d5e54;border-color:#e8ddd0;font-weight:400}
.nav-links .btn-contacto:hover{background-color:#c9a87c;border-color:#c9a87c;color:#fff}
.menu-check{display:none}
.menu-icon{display:none;flex-direction:column;gap:5px;cursor:pointer}
.menu-icon span{width:24px;height:2px;background-color:#e8ddd0;border-radius:2px;transition:transform .3s}
footer{background-color:#fef8f0;color:#3a3a38;padding:2.5rem 5%}
.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.footer-copy{font-size:.85rem;font-weight:300;color:#5d5e54}
.footer-icons{display:flex;gap:1rem;align-items:center}
.footer-icons a{display:flex;align-items:center;opacity:.75;transition:opacity .2s ease}
.footer-icons a:hover{opacity:1}
.icon-footer{width:2rem;height:2rem;object-fit:contain}
.container{width:90%;max-width:1200px;margin:0 auto}
.bloque-dos-col{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:5rem 5%}
.bloque-dos-col.inverso{direction:rtl}
.bloque-dos-col.inverso>*{direction:ltr}
.bloque-imagen img{width:100%;height:400px;object-fit:cover;border-radius:12px}
.bloque-texto{padding:1rem 0}
.hero-cta{display:inline-block;padding:.75rem 2rem;background-color:transparent;color:#5d5e54;border:1.5px solid #5d5e54;border-radius:50px;font-size:.9rem;font-style:italic;font-weight:300;cursor:pointer;text-decoration:none;transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .2s ease}
.hero-cta:hover{background-color:#5d5e54;color:#e8ddd0;border-color:#5d5e54;transform:translateY(-2px)}
.btn-primario{display:inline-block;padding:.85rem 2.2rem;background-color:#5d5e54;color:#e8ddd0;border:1.5px solid #5d5e54;border-radius:50px;font-size:.9rem;font-style:italic;font-weight:300;cursor:pointer;text-decoration:none;transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .2s ease}
.btn-primario:hover{background-color:#c9a87c;border-color:#c9a87c;transform:translateY(-2px)}
.btn-enviar{display:inline-block;padding:.85rem 2.5rem;background-color:#5d5e54;color:#e8ddd0;border:none;border-radius:50px;font-size:.9rem;font-style:italic;font-weight:300;cursor:pointer;text-decoration:none;align-self:flex-start;transition:background-color .25s ease,transform .2s ease}
.btn-enviar:hover{background-color:#c9a87c;transform:translateY(-2px)}
.servicio-card{background-color:#fff;border:1px solid #e8ddd0;border-radius:12px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.servicio-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(93,94,84,.12)}
.servicio-card img{width:100%;height:200px;object-fit:cover}
.servicio-card-texto{padding:1.25rem}
.servicio-card-texto h2{font-size:1.1rem;margin-bottom:.5rem}
.servicio-card-texto p{font-size:.9rem}
.herramienta-card{background-color:#fff;border:1px solid #e8ddd0;border-radius:12px;overflow:hidden;padding:2rem;text-align:center;transition:transform .25s ease,box-shadow .25s ease}
.herramienta-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(93,94,84,.12)}
.herramienta-card img{width:5rem;height:5rem;object-fit:contain;margin:0 auto 1.25rem}
.herramienta-card h2{font-size:1.1rem;margin-bottom:.75rem}
.formacion-item{background-color:#fff;border:1px solid #e8ddd0;border-radius:10px;padding:1.5rem;transition:box-shadow .25s ease}
.formacion-item:hover{box-shadow:0 4px 16px rgba(93,94,84,.08)}
.formacion-item h3{font-size:1rem;color:#5d5e54;font-style:normal;font-weight:600;margin-bottom:.25rem}
.formacion-item p{font-size:.88rem}
.testimonio-card{background-color:#fff;border:1px solid #e8ddd0;border-radius:12px;padding:2rem 2.5rem;text-align:center;max-width:680px;margin:0 auto}
.testimonio-card blockquote{font-size:1.05rem;font-style:italic;font-weight:300;color:#5d5e54;line-height:1.8;margin-bottom:1.5rem;position:relative}
.testimonio-card blockquote::before{content:'\201C';font-size:4rem;color:#c9a87c;opacity:.35;position:absolute;top:-1.5rem;left:-.5rem;font-style:normal;line-height:1}
.testimonio-autor{font-size:.85rem;font-weight:400;color:#7a7a70;letter-spacing:.05em;text-transform:uppercase}
.form-contacto{display:flex;flex-direction:column;gap:1.25rem}
.form-grupo{display:flex;flex-direction:column;gap:.35rem}
.form-grupo label{font-size:.85rem;font-weight:400;color:#5d5e54}
.form-grupo input,.form-grupo textarea{font-family:'Lato',sans-serif;font-size:.95rem;font-weight:300;color:#3a3a38;background-color:#fff;border:1px solid #e8ddd0;border-radius:8px;padding:.75rem 1rem;outline:none;transition:border-color .2s ease}
.form-grupo input:focus,.form-grupo textarea:focus{border-color:#c9a87c}
.form-grupo textarea{min-height:140px;resize:vertical}
.form-fila{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.page-hero{position:relative;height:45vh;min-height:280px;overflow:hidden;display:flex;align-items:flex-end}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(58,58,56,.7) 0%,transparent 60%)}
.page-hero-titulo{position:relative;z-index:1;padding:2.5rem 5%;color:#e8ddd0}
.page-hero-titulo h1{color:#e8ddd0;font-size:clamp(2rem,5vw,3rem)}
.hero{background-color:#fef8f0;min-height:85vh;display:flex;align-items:center;padding:5rem 5%;gap:4rem;overflow:hidden}
.hero-texto{flex:1;max-width:560px}
.hero-texto h1{margin-bottom:1.25rem}
.hero-texto h2{font-size:1.15rem;font-weight:300;color:#c9a87c;margin-bottom:1.5rem}
.hero-texto p{line-height:1.8;margin-bottom:2rem}
.hero-imagen-wrap{flex:1;display:flex;align-items:center;justify-content:center}
.hero-imagen{width:100%;max-height:560px;object-fit:cover;border-radius:16px}
.seccion-lista{background-color:#5d5e54;padding:5rem 5%;text-align:center}
.seccion-lista h2{color:#e8ddd0;margin-bottom:2.5rem}
.lista-items{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;max-width:800px;margin:0 auto}
.lista-item{background-color:rgba(232,221,208,.1);border:1px solid rgba(232,221,208,.25);color:#e8ddd0;padding:.6rem 1.4rem;border-radius:50px;font-size:.9rem;font-weight:300;font-style:italic;transition:background-color .25s ease,border-color .25s ease}
.lista-item:hover{background-color:rgba(232,221,208,.2);border-color:rgba(232,221,208,.45)}
.seccion-videos{padding:5rem 5%;background-color:#f5ede2}
.seccion-videos h2{text-align:center;margin-bottom:3rem}
.videos-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.video-wrap{border-radius:12px;overflow:hidden;background:#5d5e54}
.video-wrap p{color:#e8ddd0;font-style:italic;font-size:.85rem;padding:.75rem 1rem;margin:0}
.video-wrap iframe{width:100%;aspect-ratio:16/9;border:0}
.seccion-mirada{padding:5rem 5%;background-color:#fef8f0;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.mirada-cita{border-left:3px solid #c9a87c;padding-left:2rem}
.mirada-cita h3{font-size:1.3rem;color:#5d5e54;margin-bottom:1rem}
.mirada-cta{text-align:center}
.mirada-cta h2{margin-bottom:2rem}
.seccion-testimonios{background-color:#f5ede2;padding:5rem 5%;text-align:center}
.seccion-testimonios h2{margin-bottom:.5rem}
.seccion-testimonios .subtitulo-seccion{font-size:.95rem;color:#7a7a70;font-style:italic;margin-bottom:3rem}
.seccion-testimonios .carousel-indicators{bottom:-2.5rem}
.seccion-testimonios .carousel-indicators [data-bs-target]{background-color:#c9a87c;width:8px;height:8px;border-radius:50%;border:none;opacity:.4}
.seccion-testimonios .carousel-indicators [data-bs-target].active{opacity:1}
.seccion-testimonios .carousel-inner{padding-bottom:3rem}
.seccion-testimonios .carousel-control-prev,.seccion-testimonios .carousel-control-next{color:#5d5e54;width:3rem}
.seccion-testimonios .carousel-control-prev-icon,.seccion-testimonios .carousel-control-next-icon{filter:invert(.4) sepia(1) saturate(1.5) hue-rotate(5deg)}
.seccion-galeria{padding:5rem 5%;background-color:#fef8f0}
.seccion-galeria h2{text-align:center;margin-bottom:3rem}
.galeria-item{overflow:hidden;border-radius:12px}
.galeria-item img{width:100%;height:260px;object-fit:cover;transition:transform .4s ease}
.galeria-item:hover img{transform:scale(1.04)}
.servicios-intro{padding:4rem 5% 2rem;max-width:700px}
.servicios-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding:2rem 5% 5rem}
.bloque-destacado{background-color:#f5ede2;padding:5rem 5%;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.bloque-destacado img{width:100%;height:420px;object-fit:cover;border-radius:12px}
.cta-final{background-color:#5d5e54;padding:5rem 5%;text-align:center}
.cta-final h2{color:#e8ddd0;margin-bottom:1rem}
.cta-final p{color:rgba(232,221,208,.7);max-width:560px;margin:0 auto 2rem}
.metodologia-intro{padding:5rem 5% 3rem;max-width:720px}
.herramientas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:2rem 5% 5rem}
.proceso-seccion{background-color:#f5ede2;padding:5rem 5%;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.proceso-seccion img{width:100%;height:400px;object-fit:cover;border-radius:12px}
.sobremi-hero{background-color:#fef8f0;padding:5rem 5%;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.sobremi-hero img{width:100%;height:520px;object-fit:cover;border-radius:12px}
.sobremi-texto h1{margin-bottom:.5rem}
.sobremi-texto .subtitulo{font-size:1rem;font-style:italic;color:#c9a87c;margin-bottom:2rem;font-weight:300}
.formacion-seccion{background-color:#fff;padding:5rem 5%}
.formacion-seccion h2{margin-bottom:2.5rem}
.formacion-lista{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.contacto-wrap{padding:5rem 5%;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.contacto-info h1{margin-bottom:1rem}
.contacto-info p{margin-bottom:2rem}
.contacto-datos{display:flex;flex-direction:column;gap:1rem}
.contacto-dato{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:#7a7a70}
.contacto-dato img{width:1.6rem;height:1.6rem;object-fit:contain;flex-shrink:0}
@media(max-width:900px){
  .servicios-grid{grid-template-columns:repeat(2,1fr)}
  .herramientas-grid{grid-template-columns:repeat(2,1fr)}
  .bloque-dos-col,.bloque-destacado,.proceso-seccion,.sobremi-hero,.seccion-mirada,.contacto-wrap{grid-template-columns:1fr;gap:2rem}
  .bloque-dos-col.inverso{direction:ltr}
  .videos-grid{grid-template-columns:1fr}
  .formacion-lista{grid-template-columns:1fr}
  .bloque-imagen img,.proceso-seccion img,.sobremi-hero img,.bloque-destacado img{height:260px}
}
@media(max-width:768px){
  .menu-icon{display:flex}
  .nav-links{display:none;flex-direction:column;position:absolute;top:100%;left:0;width:100%;background-color:#5d5e54;padding:1.5rem 5%;gap:1.25rem}
  .menu-check:checked~.nav-links{display:flex}
  header{position:relative}
  .hero{flex-direction:column;min-height:auto;padding:3rem 5%}
  .hero-imagen-wrap{display:none}
  .servicios-grid{grid-template-columns:1fr}
  .herramientas-grid{grid-template-columns:1fr}
  .form-fila{grid-template-columns:1fr}
}
.faq-intro{padding:5rem 5% 3rem;max-width:720px}.faq-seccion{padding:0 5% 5rem}.faq-grupo{margin-bottom:5rem}.faq-grupo:last-child{margin-bottom:0}.faq-categoria{font-size:.85rem;font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:#c9a87c;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e8ddd0}.faq-lista{display:flex;flex-direction:column;gap:0}.faq-item{border-bottom:1px solid #e8ddd0}.faq-item:first-child{border-top:1px solid #e8ddd0}.faq-pregunta{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 0;background:none;border:none;text-align:left;font-family:'Lato',sans-serif;font-size:1rem;font-weight:400;color:#5d5e54;cursor:pointer;transition:color .25s ease}.faq-pregunta:hover{color:#c9a87c}.faq-pregunta[aria-expanded="true"]{color:#c9a87c}.faq-pregunta[aria-expanded="true"] .faq-icono::before{transform:translateY(-50%) rotate(45deg)}.faq-pregunta[aria-expanded="true"] .faq-icono::after{transform:translateX(-50%) rotate(-45deg)}.faq-icono{flex-shrink:0;position:relative;width:1rem;height:1rem}.faq-icono::before,.faq-icono::after{content:'';position:absolute;background-color:currentColor;border-radius:2px;transition:transform .25s ease}.faq-icono::before{width:100%;height:1.5px;top:50%;left:0;transform:translateY(-50%)}.faq-icono::after{width:1.5px;height:100%;left:50%;top:0;transform:translateX(-50%)}.faq-respuesta{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;padding-bottom:0}.faq-respuesta p{padding-bottom:1.25rem;margin-bottom:0}.faq-item.activo .faq-respuesta{max-height:400px}
