/* Inicio only — faithful, live implementation of the supplied composition. */
body{background:#fff}
main{position:relative;overflow:hidden;background:#fff}

/* Hero */
.hero{
  height:clamp(650px,50vw,720px);
  min-height:650px;
  aspect-ratio:auto;
  max-width:1440px;
  margin:0 auto;
  background:#fff;
}
.hero-media{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero .hero-visual{position:absolute;clip-path:url(#hero-video-clip);inset:0;z-index:0}
.hero video,.hero .hero-video-fallback{left:31.8%;top:0;width:68.2%;height:100%;object-fit:cover;object-position:42% center}
.hero .hero-decoration{position:absolute;z-index:4;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 64%;transform:scale(1.1);transform-origin:100% 100%;pointer-events:none;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 84%,rgba(0,0,0,.82) 89%,rgba(0,0,0,.38) 95%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 84%,rgba(0,0,0,.82) 89%,rgba(0,0,0,.38) 95%,transparent 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.hero-copy{top:20.5%;left:5.2%;width:38%;z-index:5}
.hero .eyebrow{font-size:14px;letter-spacing:7px;margin:0 0 21px}
.hero .eyebrow::after{content:"";display:block;width:46px;height:2px;margin-top:19px;background:var(--gold)}
.hero h1{font-size:clamp(46px,4.15vw,60px);line-height:.88;letter-spacing:-.045em;margin:0 0 19px;white-space:nowrap}
.hero h1 strong{display:inline-block;color:var(--petrol);font-weight:800}
.hero h1 span{display:inline-block;color:var(--petrol);font-weight:350;letter-spacing:-.055em;margin-top:9px}
.hero-description{font-size:clamp(15px,1.25vw,18px);line-height:1.34;max-width:430px;margin:0 0 25px}
.hero .button-outline{border:0;background:linear-gradient(100deg,#e2a027,#f3b746);color:#082e57;box-shadow:0 9px 24px rgba(213,153,47,.2);padding:10px 20px;min-height:40px;font-size:13px;gap:18px;font-weight:750}
.hero .button-outline:hover{background:linear-gradient(100deg,#d9951d,#f2b33b);transform:translateY(-2px)}
.hero .button-outline span{font-size:19px;line-height:1}
.hero-promise{left:auto;right:-1.2%;top:auto;bottom:8.5%;width:235px;height:235px;padding:39px 18px 22px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(7,42,81,.96);z-index:5;box-shadow:0 12px 34px rgba(7,42,81,.16)}
.hero-promise>svg{width:52px;height:52px;margin:0 auto 8px;color:var(--gold)}
.hero-promise .promise-line{display:none}
.hero-promise h2{font-size:25px;line-height:1.07;margin:0 0 8px}
.hero-promise p{font-size:18px;line-height:1.2;margin:0}

@media(max-width:1000px){.hero .hero-decoration{left:0;width:100%;object-position:50% 64%;transform:scale(1.06)}}
@media(max-width:640px){.hero .hero-decoration{inset:0 0 auto;width:100%;height:330px;object-position:50% 64%;transform:scale(1.03)}}

/* CTA de conversación entre Hero y Quiénes somos */
.hero>.home-conversation-cta{display:block;position:absolute;z-index:6;left:5.2%;bottom:5.2%;width:56%;min-width:0;margin:0;padding:0;background:transparent}
.home-conversation-cta__bar{display:grid;grid-template-columns:58px 1px minmax(0,1fr) auto;align-items:center;gap:18px;width:100%;min-width:0;min-height:76px;padding:9px 13px 9px 10px;border-radius:999px;background:#fff;box-shadow:0 10px 30px rgba(15,45,75,.08)}
.home-conversation-cta__icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;color:var(--petrol);background:#f5e6d5}
.home-conversation-cta__icon svg{width:40px;height:40px;overflow:visible}
.home-conversation-cta__icon .home-conversation-cta__spark{stroke:var(--gold)}
.home-conversation-cta__divider{width:1px;height:48px;background:var(--gold)}
.home-conversation-cta__copy{display:flex;min-width:0;flex-direction:column;gap:4px;color:var(--petrol)}
.home-conversation-cta__copy strong{font-size:16px;line-height:1.15;font-weight:750;letter-spacing:-.2px}
.home-conversation-cta__copy small{font-size:12px;line-height:1.3;white-space:normal}
.home-conversation-cta__button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-width:132px;min-height:44px;padding:10px 18px;border-radius:999px;background:var(--petrol);color:#fff;font-size:14px;font-weight:750;box-shadow:inset 0 -2px 0 var(--gold),0 8px 18px rgba(15,45,75,.14);transition:transform 300ms ease,box-shadow 300ms ease,background-color 300ms ease}
.home-conversation-cta__button span{font-size:20px;line-height:1}
.home-conversation-cta__button:hover{background:#153f69;transform:translateY(-2px);box-shadow:inset 0 -2px 0 var(--gold),0 11px 22px rgba(15,45,75,.2)}

@media(max-width:1000px){
  .hero>.home-conversation-cta{left:5%;bottom:4.5%;width:65%}
  .home-conversation-cta__bar{grid-template-columns:48px 1px minmax(0,1fr) auto;gap:12px;min-height:64px;padding:8px 10px 8px 8px}
  .home-conversation-cta__icon{width:48px;height:48px}.home-conversation-cta__icon svg{width:33px;height:33px}
  .home-conversation-cta__divider{height:40px}
  .home-conversation-cta__copy strong{font-size:13px}.home-conversation-cta__copy small{font-size:11px}
  .home-conversation-cta__button{min-width:108px;min-height:40px;padding-inline:14px;font-size:12px;gap:12px}
}

@media(max-width:640px){
  .hero>.home-conversation-cta{position:relative;order:2;left:auto;bottom:auto;width:88%;max-width:88%;margin:0 auto 20px}
  .home-conversation-cta__bar{grid-template-columns:52px minmax(0,1fr);gap:10px 14px;width:100%;min-height:0;padding:16px 17px 17px;border-radius:28px}
  .home-conversation-cta__icon{width:52px;height:52px}.home-conversation-cta__icon svg{width:36px;height:36px}
  .home-conversation-cta__divider{display:none}
  .home-conversation-cta__copy strong{font-size:16px}.home-conversation-cta__copy small{font-size:13px;line-height:1.35}
  .home-conversation-cta__button{grid-column:1/-1;width:100%;min-height:46px;margin-top:3px}
  .hero .hero-media{order:3}
}

/* Quiénes somos */
.home-about-reference{display:block;width:100%;position:relative;isolation:isolate;max-width:1440px;margin:-4px auto 0;padding:48px 5.2% 62px;background:transparent;overflow:visible}
.home-about-reference::before{content:"";position:absolute;z-index:0;inset:0 0 auto;height:calc(100% + clamp(250px,24vw,360px));pointer-events:none;background:radial-gradient(ellipse 48% 30% at -17% 9%,transparent 0 57%,rgba(46,91,143,.045) 57.5% 63%,transparent 63.5%),radial-gradient(ellipse 57% 37% at -21% 14%,transparent 0 65%,rgba(217,198,171,.05) 65.5% 72%,transparent 72.5%),radial-gradient(ellipse 63% 42% at -24% 19%,transparent 0 74%,rgba(192,138,46,.055) 74.3% 74.8%,transparent 75.1%),radial-gradient(circle at 108% 76%,rgba(46,91,143,.045) 0 12%,transparent 12.4%),radial-gradient(circle at 104% 83%,transparent 0 15%,rgba(217,198,171,.05) 15.4% 23%,transparent 23.4%),radial-gradient(circle at 111% 91%,transparent 0 18%,rgba(192,138,46,.05) 18.3% 18.8%,transparent 19.1%)}
.home-about-reference .about-layout{display:block;position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:0}
.home-about-reference .about-heading{text-align:center;max-width:960px;margin:0 auto 43px}
.home-about-reference .about-heading .eyebrow{font-size:13px;line-height:1.4;letter-spacing:6px;color:var(--petrol);font-weight:750;margin:0}
.home-about-reference .about-heading-line{display:block;width:44px;height:2px;background:var(--gold);margin:19px auto 23px}
.home-about-reference .about-heading h2{font-size:clamp(34px,3.65vw,52px);line-height:1.03;letter-spacing:-.04em;color:var(--petrol);font-weight:350;margin:0}
.home-about-reference .about-heading h2 strong{font-weight:800}
.home-about-reference .about-indicators{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;width:100%;margin:0;padding:0;list-style:none}
.home-about-reference .about-indicator{position:relative;min-width:0;height:485px;padding:54px 18px 0;text-align:center;border-radius:56px 56px 17px 17px;overflow:hidden;background:linear-gradient(180deg,#fff 0 32%,#f2f8fb 55%,#dbeaf2 100%);box-shadow:0 14px 32px rgba(15,45,75,.07);transition:box-shadow 300ms ease}
@media(hover:hover) and (pointer:fine){.home-about-reference .about-indicator:hover{box-shadow:0 16px 36px rgba(15,45,75,.12),0 0 0 1.5px rgba(46,91,143,.68),0 0 24px rgba(46,91,143,.2),inset 0 0 0 1px rgba(192,138,46,.16)}}
.home-about-reference .about-icon-disc{position:absolute;top:0;left:50%;transform:translateX(-50%);width:74px;height:74px;border-radius:50%;display:grid;place-items:center;color:var(--petrol);background:#f3ddc4;z-index:3}
.home-about-reference .about-indicator-icon{width:43px;height:43px}
.home-about-reference .about-indicator h3{position:relative;z-index:3;font-size:24px;line-height:1.08;letter-spacing:-.04em;font-weight:800;color:var(--petrol);margin:35px 0 7px}
.home-about-reference .about-indicator p{position:relative;z-index:3;font-size:17px;line-height:1.22;color:var(--petrol);margin:0 auto;max-width:190px}
.home-about-reference .about-gold-detail{position:relative;z-index:3;display:block;width:43px;height:2px;background:var(--gold);margin:22px auto 0}
.home-about-reference .about-card-photo{position:absolute;z-index:1;left:0;right:0;bottom:0;height:56%;overflow:hidden}
.home-about-reference .about-card-photo img{display:block;width:100%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 7%,rgba(0,0,0,.25) 16%,rgba(0,0,0,.65) 27%,#000 38%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,transparent 7%,rgba(0,0,0,.25) 16%,rgba(0,0,0,.65) 27%,#000 38%,#000 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.home-about-reference .about-card--experience .about-card-photo img{object-position:50% 68%}
.home-about-reference .about-card--vision .about-card-photo img{object-position:58% 50%}
.home-about-reference .about-card--sectors .about-card-photo img{object-position:52% 57%}
.home-about-reference .about-card--solutions .about-card-photo img{object-position:62% 63%}
.home-about-reference .about-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:31px 0 0;padding:0;list-style:none}
.home-about-reference .about-principles li{display:flex;justify-content:center;align-items:flex-start;gap:12px;color:var(--petrol);font-size:14px;line-height:1.35;text-align:left}
.home-about-reference .about-principles li>span{width:9px;height:9px;margin-top:5px;flex:0 0 auto;border-radius:50%;background:var(--gold)}
.home-about-reference .about-principles p{margin:0}
.home-about-reference .about-principles strong{font-weight:800}

/* Consulta tu caso */
.product-consultation{max-width:1440px;margin:0 auto;padding:42px 0 66px;background:transparent;overflow:hidden}
.product-consultation .consultation-decoration{display:none}
.consultation-heading{margin-bottom:14px}
.consultation-eyebrow{font-size:13px;letter-spacing:3.5px;padding:0 17px 10px;margin-bottom:22px}
.consultation-heading h2{font-size:clamp(35px,3.35vw,48px);margin-bottom:15px}
.consultation-heading>p:last-child{font-size:16px;line-height:1.45}
.product-stage{height:clamp(270px,24.5vw,352px)}
.product-slide{width:37%;border-radius:22px;box-shadow:0 16px 38px rgba(15,45,75,.11)}
.product-slide[data-offset="-1"]{left:28%;transform:translate(-50%,-50%) scale(.79)}
.product-slide[data-offset="1"]{left:72%;transform:translate(-50%,-50%) scale(.79)}
.product-slide[data-offset="-2"]{left:11%;transform:translate(-50%,-50%) scale(.66)}
.product-slide[data-offset="2"]{left:89%;transform:translate(-50%,-50%) scale(.66)}
.product-arrow{top:50%;width:54px;height:54px;border:1px solid #e7eef2;box-shadow:0 8px 24px rgba(15,45,75,.08)}
.product-prev{left:2.2%}.product-next{right:2.2%}
.product-pagination{margin-top:3px}

@media(max-width:1000px){
  .hero{height:620px;min-height:620px}
  .hero-copy{top:20%;left:5%;width:43%}
  .hero h1{font-size:52px}
  .hero-description{font-size:15px;line-height:1.35;max-width:360px}
  .hero video,.hero .hero-video-fallback{left:31%;width:69%;height:100%}
  .hero-promise{width:185px;height:185px;right:-1.5%;bottom:10%;padding:28px 15px 18px}
  .hero-promise>svg{width:40px;height:40px;margin-bottom:5px}
  .hero-promise h2{font-size:20px}.hero-promise p{font-size:15px}
  .home-about-reference{padding:42px 5% 52px}
  .home-about-reference .about-indicators{gap:15px}
  .home-about-reference .about-indicator{height:410px;padding-left:10px;padding-right:10px;border-radius:45px 45px 15px 15px}
  .home-about-reference .about-icon-disc{width:64px;height:64px}.home-about-reference .about-indicator-icon{width:36px;height:36px}
  .home-about-reference .about-indicator h3{font-size:20px;margin-top:25px}.home-about-reference .about-indicator p{font-size:15px}
  .home-about-reference .about-principles{gap:18px}.home-about-reference .about-principles li{font-size:12px}
  .product-slide{width:54%}.product-slide[data-offset="-1"]{left:20%}.product-slide[data-offset="1"]{left:80%}.product-slide[data-offset="-2"]{left:-5%}.product-slide[data-offset="2"]{left:105%}
}

@media(max-width:640px){
  .hero{display:flex;height:auto;min-height:0;aspect-ratio:auto;padding:0;background:#fff}
  .hero .hero-copy{position:relative;order:1;top:auto;left:auto;width:100%;padding:40px 7% 25px}
  .hero .eyebrow{font-size:12px;letter-spacing:4.5px;margin-bottom:16px}.hero .eyebrow::after{margin-top:14px}
  .hero h1{font-size:clamp(42px,12vw,58px);margin-bottom:20px}.hero h1 span{margin-top:7px}
  .hero-description{font-size:16px;line-height:1.38;margin-bottom:24px;max-width:390px}
  .hero .button-outline{font-size:14px;min-height:48px;padding:12px 20px}
  .hero .hero-media{position:relative;inset:auto;width:100%;height:auto}
  .hero .hero-visual{position:relative;inset:auto;width:100%;height:330px;margin:0;clip-path:ellipse(87% 91% at 79% 10%);z-index:0}
  .hero video,.hero .hero-video-fallback{inset:0;width:100%;height:100%;object-position:42% center}
  .hero .hero-promise{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:92%;height:auto;margin:-42px 0 0 8%;padding:23px 7% 26px 9%;border-radius:70px 0 0 0;display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:14px;text-align:left;box-shadow:none}
  .hero-promise>svg{grid-row:1/3;width:41px;height:41px;margin:0}.hero-promise h2{min-width:0;font-size:21px;margin:0 0 5px}.hero-promise p{min-width:0;font-size:14px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.hero-promise h2 br,.hero-promise p br{display:none}
  .home-about-reference{margin:0;padding:52px 6% 48px}
  .home-about-reference .about-heading{margin-bottom:35px}
  .home-about-reference .about-heading .eyebrow{font-size:12px;letter-spacing:4px}
  .home-about-reference .about-heading-line{margin:16px auto 19px}
  .home-about-reference .about-heading h2{font-size:31px;line-height:1.08}
  .home-about-reference .about-indicators{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}
  .home-about-reference .about-indicator{height:360px;padding:48px 8px 0;border-radius:38px 38px 14px 14px}
  .home-about-reference .about-icon-disc{width:58px;height:58px}.home-about-reference .about-indicator-icon{width:33px;height:33px}
  .home-about-reference .about-indicator h3{font-size:18px;line-height:1.05;margin:22px 0 6px}.home-about-reference .about-indicator p{font-size:14px}.home-about-reference .about-gold-detail{width:34px;margin-top:15px}
  .home-about-reference .about-card-photo{height:56%}
  .home-about-reference .about-principles{grid-template-columns:1fr;gap:12px;margin-top:27px;padding:0 4%}.home-about-reference .about-principles li{justify-content:flex-start;font-size:13px}
  .product-consultation{padding:37px 0 46px}
  .consultation-heading{padding:0 7%;margin-bottom:20px}.consultation-heading h2{font-size:29px}.consultation-heading>p:last-child{font-size:15px}
  .product-stage{height:57vw;min-height:215px}
  .product-slide{width:89%;border-radius:16px}
  .product-slide[data-offset="-1"]{left:-29%;transform:translate(-50%,-50%) scale(.83)}.product-slide[data-offset="1"]{left:129%;transform:translate(-50%,-50%) scale(.83)}
  .product-slide[data-offset="-2"]{left:-66%;opacity:0}.product-slide[data-offset="2"]{left:166%;opacity:0}
  .product-arrow{top:auto;bottom:-2px;width:44px;height:44px}.product-pagination{margin-top:17px}
}

@media(max-width:390px){
  .hero h1{font-size:39px}.hero .hero-visual{height:295px}
  .home-about-reference .about-indicator{height:330px}.home-about-reference .about-indicator h3{font-size:16px}.home-about-reference .about-indicator p{font-size:13px}
  .product-stage{min-height:195px}
}

@media(prefers-reduced-motion:reduce){
  .hero .button-outline{transition:none}
  .home-about-reference .about-indicator{transition:none}
  .home-conversation-cta__button{transition:none}
}

/* Original video frame remains visible during buffering or recovery. */
.hero .hero-video-fallback{position:absolute;display:block;z-index:0;pointer-events:none}.hero video{z-index:1}.hero video.hero-video-buffering{opacity:0}
