/* ROSY - sitio estático */
:root{
  --blue:#053c70;
  --blue-dark:#003662;
  --teal:#039aa6;
  --teal-dark:#01828e;
  --gold:#c79a43;
  --cream:#fbf7ef;
  --soft:#f5efe6;
  --text:#18385a;
  --muted:#5f6470;
  --white:#fff;
  --shadow:0 18px 45px rgba(9,40,72,.14);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  color:var(--text);
  background:#fff;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.site-header{
  height:92px;
  padding:12px 8%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  position:sticky;
  top:0;
  z-index:50;
  box-shadow:0 8px 24px rgba(16,55,86,.06);
}
.brand img{width:210px;max-height:74px;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:46px;font-size:15px;font-weight:700;color:#063b70}
.main-nav a{position:relative;padding:8px 0}
.main-nav a::after{
  content:"";
  width:0;height:2px;background:var(--teal);
  position:absolute;left:0;bottom:0;transition:.2s
}
.main-nav a:hover::after{width:100%}

.btn{
  border:0;
  border-radius:999px;
  min-height:48px;
  padding:0 28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  font-size:14px;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary,.btn-whatsapp{
  background:linear-gradient(135deg,#04a6b1,#008a9a);
  color:#fff;
  box-shadow:0 10px 24px rgba(1,138,154,.22);
}
.btn-primary::after,.btn-whatsapp::before{
  content:"";
  width:22px;
  height:22px;
  flex:0 0 22px;
  background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='white' d='M27.5 15.2c0 6.3-5.2 11.5-11.5 11.5-2 0-3.8-.5-5.4-1.4L4 27.4l2.2-6.3A11.41 11.41 0 0 1 4.5 15.2C4.5 8.9 9.7 3.7 16 3.7s11.5 5.2 11.5 11.5Zm-11.5-9.6c-5.3 0-9.6 4.3-9.6 9.6 0 1.8.5 3.5 1.4 5l-.8 2.4 2.5-.8c1.4.8 3 1.3 4.7 1.3 5.3 0 9.6-4.3 9.6-9.6S21.3 5.6 16 5.6Zm5.7 12.2c-.3-.1-1.9-.9-2.2-1-.3-.1-.5-.1-.7.1-.2.3-.8 1-.9 1.1-.2.2-.3.2-.6.1-.3-.1-1.2-.4-2.2-1.3-.8-.7-1.3-1.5-1.5-1.8-.2-.3 0-.4.1-.6.1-.1.3-.3.4-.5.1-.1.2-.3.3-.5.1-.2 0-.4 0-.5 0-.1-.7-1.7-.9-2.4-.2-.6-.5-.5-.7-.5h-.6c-.2 0-.5.1-.8.4-.3.3-1 1-1 2.4s1 2.7 1.2 2.9c.1.2 2 3.1 4.9 4.3.7.3 1.2.5 1.6.7.7.2 1.3.2 1.8.1.6-.1 1.9-.8 2.1-1.5.3-.7.3-1.3.2-1.4-.1-.1-.3-.2-.6-.3Z'/%3E%3C/svg%3E");
  opacity:1;
}
.btn-whatsapp{text-transform:none;font-size:15px}

.hero{
  position:relative;
  min-height:520px;
  overflow:hidden;
  display:grid;
  place-items:center;
}
.hero-bg{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:right center;
  z-index:0;
}
.hero::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,.82) 33%,rgba(255,255,255,.2) 68%);
  z-index:1;
  pointer-events:none;
}
.hero-content{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:760px;
  margin:auto;
  padding:54px 24px 40px;
}
h1,h2{
  font-family:Cinzel,Georgia,serif;
  color:var(--blue);
  line-height:1.1;
  margin:0;
  font-weight:600;
}
.hero h1{
  font-size:clamp(42px,5vw,76px);
  text-transform:uppercase;
  letter-spacing:.035em;
}
.hero p{
  margin:20px auto 26px;
  max-width:620px;
  font-size:21px;
  line-height:1.45;
  color:#3f4f60;
}
.personal-note{
  display:inline-flex;
  margin-top:18px;
  color:#6b6255;
  font-weight:600;
  background:rgba(255,255,255,.75);
  padding:8px 18px;
  border-radius:999px;
}
.personal-note::before{content:"♟";margin-right:8px;color:var(--gold)}

.intro,.solutions,.steps{
  padding:68px 8%;
  background:linear-gradient(180deg,#fff,#fbf8f2);
  text-align:center;
}
.eyebrow{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-weight:800;
  font-size:14px;
  margin:0 0 10px;
}
.divider{
  width:220px;
  max-height:34px;
  object-fit:contain;
  margin:0 auto 14px;
}
.divider.left{margin-left:0}
.intro h2,.section-title h2{
  font-size:clamp(30px,3.3vw,50px);
}
.values{
  margin:60px auto 0;
  max-width:1120px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
}
.values article{
  padding:0 56px;
  border-right:1px solid rgba(199,154,67,.5);
}
.values article:last-child{border-right:0}
.values img{
  width:92px;height:92px;object-fit:cover;object-position:center;
  border:1px solid rgba(199,154,67,.45);
  border-radius:50%;
  margin:0 auto 14px;
}
.values article:nth-child(1) img{object-position:left}
.values article:nth-child(2) img{object-position:center}
.values article:nth-child(3) img{object-position:right}
.values h3{
  font-family:Cinzel,Georgia,serif;
  color:var(--blue);
  font-size:25px;
  margin:0 0 8px;
}
.values p,.steps p{color:var(--muted);line-height:1.55;margin:0}

.solutions{background:#fff}
.solution-grid{
  margin:42px auto 0;
  max-width:1180px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.solution-card{
  display:block;
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow);
  background:#fff;
  transition:transform .25s ease, box-shadow .25s ease;
}
.solution-card:hover{
  transform:translateY(-7px);
  box-shadow:0 26px 60px rgba(9,40,72,.20);
}

.rosy-block{
  padding:72px 8%;
  display:grid;
  grid-template-columns:minmax(280px,470px) minmax(320px,760px);
  gap:70px;
  align-items:center;
  background:linear-gradient(90deg,#fbf7ef,#fff);
}
.rosy-photo{
  aspect-ratio:1;
  border-radius:50%;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.rosy-photo img{width:100%;height:100%;object-fit:cover}
.rosy-copy h2{
  font-size:clamp(30px,3.2vw,48px);
  margin:0 0 22px;
}
.rosy-copy p:not(.eyebrow){
  max-width:720px;
  color:#5e6471;
  font-size:18px;
  line-height:1.65;
}

.blue-banner{background:var(--blue-dark)}
.blue-banner img{width:100%;height:auto}

.steps-grid{
  margin:46px auto 0;
  max-width:1120px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:36px;
  text-align:left;
}
.steps article{
  position:relative;
  padding:28px 34px 32px 92px;
  border-right:1px solid rgba(199,154,67,.5);
}
.steps article:last-child{border-right:0}
.num{
  position:absolute;
  left:28px;top:26px;
  width:36px;height:36px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--teal);
  font-weight:900;
}
.steps h3{
  margin:0 0 10px;
  color:var(--blue);
  font-size:18px;
}

.opportunity{
  position:relative;
  min-height:470px;
  overflow:hidden;
  display:flex;
  align-items:center;
}
.opportunity-bg{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:right center;
}
.opportunity::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,54,98,.95) 0%,rgba(0,54,98,.86) 40%,rgba(0,54,98,.10) 70%);
}
.opportunity-copy{
  position:relative;
  z-index:2;
  max-width:760px;
  padding:68px 8%;
  color:#fff;
}
.gold{color:var(--gold)}
.opportunity h2{
  color:#fff;
  font-size:clamp(38px,4.6vw,66px);
  text-transform:uppercase;
}
.opportunity p:not(.eyebrow){
  color:#fff;
  font-size:19px;
  line-height:1.6;
  max-width:690px;
}
.opportunity small{
  display:block;
  margin-top:18px;
  color:#d4a348;
  font-weight:700;
  font-size:16px;
}

.final-cta{
  min-height:330px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
}
.final-bg{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:right center;
}
.final-cta::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.90) 0%,rgba(255,255,255,.78) 34%,rgba(255,255,255,.28) 64%,rgba(255,255,255,.03) 100%);
}
.final-copy{
  position:relative;
  z-index:2;
  padding:46px 8%;
  max-width:46%;
}
.final-copy h2{
  font-size:clamp(34px,4vw,64px);
  margin-bottom:26px;
}

.footer{
  background:linear-gradient(135deg,#003662,#064d81);
  color:#fff;
  padding:34px 8%;
}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:38px;
  width:100%;
}
.footer-logo{width:210px}
.footer-logo-dark{width:330px;max-width:100%;height:auto;display:block}
.footer nav{
  display:flex;
  gap:54px;
  align-items:center;
}
.footer a{opacity:.9}
.footer a:hover{opacity:1}

.floating-whatsapp{
  position:fixed;
  right:24px;
  bottom: 220px;
  z-index:80;
  display:flex;
  align-items:center;
  gap:10px;
}
.floating-whatsapp span{
  background:#fff;
  color:#273646;
  padding:15px 20px;
  border-radius:999px;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
  font-weight:700;
}
.floating-whatsapp b{
  width:66px;height:66px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#fff;
  font-size:30px;
  background:#23d366;
  border:4px solid #fff;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}
.floating-whatsapp b svg{width:32px;height:32px;display:block}

@media(max-width:980px){
  .site-header{height:auto;flex-wrap:wrap;padding:12px 5%}
  .brand img{width:170px}
  .main-nav{order:3;width:100%;justify-content:center;gap:24px;flex-wrap:wrap}
  .hero{min-height:600px}
  .hero::after{background:rgba(255,255,255,.66)}
  .values,.solution-grid,.steps-grid{grid-template-columns:1fr}
  .values article,.steps article{border-right:0;border-bottom:1px solid rgba(199,154,67,.45)}
  .values article{padding:26px 18px}
  .rosy-block{grid-template-columns:1fr;text-align:center}
  .final-copy{max-width:100%;padding:42px 6%}
  .divider.left{margin-left:auto}
  .opportunity::after{background:rgba(0,54,98,.82)}
  .footer-inner,.footer nav{flex-direction:column;text-align:center;gap:22px}
}

@media(max-width:620px){
  .btn{width:100%;max-width:360px}
  .hero h1{font-size:38px}
  .hero p{font-size:18px}
  .intro,.solutions,.steps,.rosy-block{padding:48px 6%}
  .floating-whatsapp span{display:none}
  .floating-whatsapp b{width:58px;height:58px}
  .floating-whatsapp{bottom:96px;right:16px}
}



/* Ajuste final: logo footer y whatsapp flotante */
.footer nav{justify-content:flex-end;flex-wrap:wrap;}
@media(max-width:980px){.footer-inner,.footer nav{flex-direction:column;text-align:center;gap:22px}.footer-logo-dark{width:280px}}




/* === PASOS CON ÍCONOS SEPARADOS SEGÚN REFERENCIA === */
.steps{
  padding: 12px 8% 30px !important;
  background: linear-gradient(180deg,#fff,#fbf8f2) !important;
  text-align:center;
}
.steps .section-title{
  margin-bottom: 8px;
}
.steps .section-title h2{
  font-size: clamp(32px,3.6vw,54px) !important;
  line-height:1.06 !important;
  margin-bottom: 4px !important;
}
.steps .divider{
  width: 170px !important;
  margin: 0 auto 16px !important;
}
.steps-grid{
  margin: 8px auto 0 !important;
  max-width: 1320px !important;
  display:grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 0 !important;
  text-align:left !important;
}
.steps article{
  display:flex !important;
  align-items:flex-end !important;
  gap: 22px !important;
  padding: 0 28px 0 0 !important;
  min-height: 265px !important;
  border-right:1px solid rgba(199,154,67,.55) !important;
  position:relative !important;
}
.steps article + article{
  padding-left: 36px !important;
}
.steps article:last-child{
  border-right:0 !important;
}
.steps .num{ display:none !important; }
.step-visual{
  flex:0 0 185px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.step-visual img{
  width: 185px;
  height: auto;
  display:block;
}
.step-copy{
  flex:1 1 auto;
  padding-bottom: 8px;
}
.steps h3{
  margin:0 0 12px !important;
  color:var(--blue) !important;
  font-size:18px !important;
  line-height:1.16 !important;
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif !important;
  font-weight:800 !important;
}
.steps p{
  color:var(--muted) !important;
  line-height:1.55 !important;
  font-size:16px !important;
  margin:0 !important;
}
@media(max-width:1100px){
  .steps-grid{grid-template-columns:1fr !important;}
  .steps article{
    min-height:auto !important;
    padding: 12px 0 24px !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(199,154,67,.45) !important;
  }
  .steps article + article{padding-left:0 !important;}
}
@media(max-width:760px){
  .steps article{gap:16px !important;}
  .step-visual{flex-basis:120px;}
  .step-visual img{width:120px;}
}
@media(max-width:540px){
  .steps article{
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  .step-visual{flex-basis:auto;}
}


/* === MENÚ HAMBURGUESA EN CELULAR === */
.menu-toggle{
  display:none;
  width:46px;
  height:46px;
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,#04a6b1,#008a9a);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(1,138,154,.18);
}
.menu-toggle span{
  width:23px;
  height:2px;
  background:#fff;
  border-radius:999px;
  display:block;
  transition:.2s ease;
}

@media(max-width:980px){
  .site-header{
    min-height:86px;
    height:auto;
    padding:14px 6% !important;
    display:grid !important;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:12px;
  }
  .brand img{
    width:190px !important;
    max-height:70px;
  }
  .header-whatsapp{
    display:none !important;
  }
  .menu-toggle{
    display:flex;
  }
  .main-nav{
    order:initial !important;
    grid-column:1 / -1;
    width:100%;
    display:none !important;
    flex-direction:column !important;
    align-items:center;
    justify-content:center;
    gap:0 !important;
    padding:10px 0 4px;
    background:#fff;
    border-top:1px solid rgba(5,60,112,.10);
  }
  .main-nav.is-open{
    display:flex !important;
  }
  .main-nav a{
    width:100%;
    text-align:center;
    padding:16px 10px !important;
    font-size:19px;
  }
  .menu-toggle.is-open span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  .menu-toggle.is-open span:nth-child(2){
    opacity:0;
  }
  .menu-toggle.is-open span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
}


/* === AJUSTE: paso 2 mismo tamaño que paso 1 y 3 === */
.step-visual{
  flex:0 0 185px !important;
  width:185px !important;
  height:185px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.step-visual img{
  width:185px !important;
  height:185px !important;
  object-fit:contain !important;
}
.steps article:nth-child(2) .step-visual img{
  width:185px !important;
  height:185px !important;
  transform:none !important;
}
@media(max-width:760px){
  .step-visual{
    flex-basis:120px !important;
    width:120px !important;
    height:120px !important;
  }
  .step-visual img,
  .steps article:nth-child(2) .step-visual img{
    width:120px !important;
    height:120px !important;
  }
}

/* === REDES SOCIALES FOOTER === */
.footer-inner{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:30px !important;
}
.footer-social{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  flex:0 0 auto;
}
.footer-social a{
  width:44px !important;
  height:44px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  color:#003662 !important;
  background:#fff !important;
  border:1px solid rgba(255,255,255,.65) !important;
  box-shadow:0 8px 20px rgba(0,0,0,.12);
  transition:transform .2s ease, opacity .2s ease;
}
.footer-social a:hover{
  transform:translateY(-2px);
  opacity:.9;
}
.social-icon{
  font-family:Arial, Helvetica, sans-serif;
  color:#003662;
  line-height:1;
  font-weight:900;
}
.social-facebook{
  font-size:31px;
  transform:translateY(2px);
}
.social-instagram{
  font-size:32px;
  font-weight:700;
}
.footer nav{
  display:flex !important;
  gap:34px !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
}
@media(max-width:980px){
  .footer-inner{
    flex-direction:column !important;
    text-align:center !important;
    gap:18px !important;
  }
  .footer-social{
    order:2;
  }
  .footer nav{
    order:3;
    justify-content:center !important;
    gap:22px !important;
  }
}
