:root{--navy:#061a33;--navy2:#0b2747;--gold:#c9983e;--cream:#f6f1e7;--white:#fff;--ink:#142033;--muted:#667085;--line:#e6e8ec;--shadow:0 22px 50px rgba(6,26,51,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--ink);line-height:1.6;background:#fff}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(6,26,51,.98);color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.15)}.nav-wrap{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:13px;min-width:0}.brand-logo{width:58px;height:58px;border-radius:50%;object-fit:cover;flex:0 0 auto}.brand-text{min-width:0}.brand-text strong{display:block;letter-spacing:.18em;font-size:18px}.brand-text small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#d6deea;white-space:normal}.nav{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:700;text-transform:uppercase}.nav-cta{background:var(--gold);padding:12px 18px}.menu-toggle{display:none;background:none;border:0}.menu-toggle span{display:block;width:26px;height:2px;background:#fff;margin:5px}
.hero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:80px 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;margin:0 0 14px}.eyebrow.gold{color:var(--gold)}.hero h1,.section-heading h2,.cta-section h2{font-family:"Playfair Display",serif;margin:0}.hero h1{font-size:clamp(46px,6vw,78px);line-height:1.04}.hero h1 span{color:var(--gold)}.hero-lead{font-size:18px;color:#e5ebf3;margin:25px 0}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{padding:14px 21px;font-size:13px;font-weight:800;text-transform:uppercase}.btn-primary{background:var(--gold);color:#fff}.btn-secondary{border:1px solid rgba(255,255,255,.65);color:#fff}
.hero-visual{position:relative;border-radius:14px;overflow:hidden;min-height:500px;box-shadow:0 30px 70px rgba(0,0,0,.28)}.hero-photo{width:100%;height:100%;min-height:500px;object-fit:cover;object-position:center}.hero-logo-card{position:absolute;top:20px;left:20px;width:96px;height:96px;border-radius:50%;overflow:hidden;box-shadow:0 8px 25px rgba(0,0,0,.25)}.hero-logo-card img{width:100%;height:100%;object-fit:cover}.hero-badge{position:absolute;left:22px;right:22px;bottom:22px;background:rgba(6,26,51,.92);border-left:4px solid var(--gold);padding:18px}.hero-badge strong{display:block;color:var(--gold);font-size:12px;text-transform:uppercase}.hero-badge span{display:block;margin-top:5px;font-family:"Playfair Display",serif;font-size:18px}
.strip{border-bottom:1px solid var(--line)}.strip-grid{display:grid;grid-template-columns:repeat(3,1fr)}.strip article{display:flex;gap:14px;align-items:center;padding:22px;border-right:1px solid var(--line)}.strip article:last-child{border:0}.strip span{font-size:26px}.strip strong,.strip small{display:block}.strip small{font-size:12px;color:var(--muted)}
.section{padding:90px 0}.section-heading{max-width:760px;margin-bottom:38px}.section-heading.centered{text-align:center;margin-left:auto;margin-right:auto}.section-heading h2{font-size:clamp(34px,4vw,52px);line-height:1.1;color:var(--navy)}.section-heading.light h2{color:#fff}.card-grid,.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-card,.service-card{padding:30px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.feature-card span,.service-card>span{color:var(--gold);font-weight:800}.feature-card h3,.service-card h3{color:var(--navy)}.feature-card p,.service-card p{color:var(--muted)}.service-card.featured{background:var(--navy);color:#fff}.service-card.featured h3{color:#fff}.service-card.featured p{color:#dbe4ef}
.comparison,.culture{padding:90px 0;background:var(--navy);color:#fff}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.compare-card{padding:32px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05)}.compare-card.positive{background:linear-gradient(145deg,rgba(201,152,62,.18),rgba(255,255,255,.05))}.compare-card .label{color:var(--gold);font-size:11px;text-transform:uppercase}.compare-card h3{font-family:"Playfair Display",serif;font-size:35px}.compare-card ul{padding-left:18px}
.culture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.culture-card{background:#fff;color:var(--navy);overflow:hidden}.image-frame{aspect-ratio:1/1;overflow:hidden;background:#0b2747}.image-frame img{width:100%;height:100%;object-fit:cover;object-position:center}.culture-card h3{padding:20px;margin:0;font-size:18px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.steps article{background:var(--cream);padding:26px;border-top:3px solid var(--gold)}.steps b{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center}.steps p{color:var(--muted)}
.cta-section{padding:85px 0;background:var(--cream)}.cta-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}.cta-section h2{font-size:clamp(36px,4vw,54px);line-height:1.08}.contact-card{background:#fff;padding:28px;box-shadow:var(--shadow)}.contact-card a{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.contact-card a:last-child{border:0}.contact-card span{color:var(--muted);font-size:12px;text-transform:uppercase}.footer{background:#031426;color:#fff;padding:28px 0}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer img{width:58px;height:58px;border-radius:50%;object-fit:cover}.floating-whatsapp{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;font-weight:900;z-index:900;box-shadow:0 14px 30px rgba(0,0,0,.25)}
.reveal{opacity:0;transform:translateY(18px);transition:.6s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:86px;left:0;right:0;background:var(--navy);padding:18px;flex-direction:column;align-items:stretch}.nav.open{display:flex}.hero-grid{grid-template-columns:1fr}.card-grid,.services-grid,.culture-grid{grid-template-columns:1fr 1fr}.strip-grid{grid-template-columns:1fr}.strip article{border-right:0;border-bottom:1px solid var(--line)}.compare-grid,.cta-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.container{width:min(100% - 28px,1180px)}.nav-wrap{min-height:74px}.brand-logo{width:48px;height:48px}.brand-text strong{font-size:15px}.brand-text small{display:none}.nav{top:74px}.hero-grid{padding:52px 0;gap:30px}.hero h1{font-size:43px}.hero-lead{font-size:16px}.hero-actions .btn{width:100%;text-align:center}.hero-visual{min-height:330px}.hero-photo{min-height:330px;object-position:center}.hero-logo-card{width:72px;height:72px;top:12px;left:12px}.hero-badge{left:12px;right:12px;bottom:12px}.card-grid,.services-grid,.culture-grid,.steps{grid-template-columns:1fr}.section,.comparison,.culture,.cta-section{padding:65px 0}.image-frame{aspect-ratio:4/5}.image-frame img{object-fit:cover;object-position:center}.footer-grid{flex-direction:column;text-align:center}.contact-card a{flex-direction:column;gap:3px}}


/* Ajustes V5.1: encuadre móvil sin recortes */
.hero-picture{
  display:block;
  width:100%;
  height:100%;
}
.hero-picture img{
  width:100%;
  height:100%;
  display:block;
}
.culture-card picture{
  display:block;
  width:100%;
  height:100%;
}
@media(max-width:650px){
  .hero-visual{
    min-height:auto;
    background:var(--navy);
  }
  .hero-picture{
    height:auto;
  }
  .hero-photo{
    width:100%;
    height:auto;
    min-height:0;
    object-fit:contain;
    object-position:center;
    background:var(--navy);
  }
  .culture-card .image-frame{
    aspect-ratio:4/5;
    background:var(--navy);
  }
  .culture-card .image-frame picture{
    width:100%;
    height:100%;
  }
  .culture-card .image-frame img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    background:var(--navy);
  }
}
