/* ========= HERO ========= */
.hero{
  --hero-copy-align:flex-start;
  position:relative;background:#FFFFFF;color:var(--ink);overflow:hidden}
.hero.hero--copy-end{--hero-copy-align:flex-end}
.hero__img{position:absolute;inset:0}
.hero__img::after{content:'';position:absolute;inset:0;
  background:linear-gradient(235deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.75) 33%,transparent 42%);z-index:1}
.hero--grad-bottom-right .hero__img::after{
  background:linear-gradient(to top left,rgba(255,255,255,0) 0%,rgba(255,255,255,.75) 33%,transparent 42%)}
@media(max-width:900px){
  .hero{position:relative}
  .hero .hero__in{position:static}
  .hero .hero__img{position:relative;height:min(58vw,300px)}
  .hero .hero__img::after{display:none}
  .hero .hero__img img{object-position:46% 50%}
  .hero__in{padding-top:clamp(14px,3.5vw,22px);
    padding-bottom:clamp(28px,6vw,40px)}
  .hero .hero__copy{display:flex;flex-direction:column;max-width:none}
  .hero .hero__eyebrow{position:static;z-index:auto;align-self:flex-start;margin:0 0 .6rem;
    background:rgba(255,255,255,.95);box-shadow:none}
  .hero h1{font-size:clamp(1.28rem,5.2vw,1.55rem);line-height:1.14;margin-bottom:.55rem}
  .hero .hero__sub{margin-top:0;font-size:.92rem}
  .hero .hero__price{margin-top:1rem}
  .hero .hero__cta{flex-wrap:nowrap;gap:.5rem;margin-top:.85rem}
  .hero .hero__cta .btn{flex:1 1 0;min-width:0;padding:.68rem .55rem;font-size:.8rem;white-space:nowrap}
  .hero__copy>h1{margin-top:0}
  /* copy-end solo en desktop; móvil = imagen arriba, copy debajo */
}
.hero__img img{width:100%;height:100%;object-fit:cover;}
.hero__veil{display:none}
.hero__in{position:relative;z-index:2;padding-top:clamp(40px,8vw,96px);padding-bottom:clamp(48px,8vw,104px)}
@media(min-width:901px){
  .hero{height:calc(100vh - 66px)}
  /* Como Nosotros .inner: mismo --wrap, sin page-pad (≈18–32px más ancho que el logo) */
  .hero .hero__in{max-width:var(--wrap);width:100%;margin-left:auto;margin-right:auto;height:100%;
    display:flex;align-items:var(--hero-copy-align);justify-content:flex-end;
    padding-left:0;padding-right:0;
    padding-top:clamp(48px,6vw,80px);padding-bottom:0}
  @media(max-width:1180px){
    .hero .hero__in{padding-left:var(--page-pad-x);padding-right:var(--page-pad-x)}
  }
  .hero.hero--copy-end .hero__in{
    padding-top:0;
    padding-bottom:clamp(28px,4vh,56px)}
  .hero .hero__copy{max-width:32rem;display:flex;flex-direction:column;align-items:flex-end;text-align:right}
  .hero .hero__eyebrow{margin-bottom:.7rem}
  .hero h1{font-size:clamp(1.45rem,2.35vw,2.05rem);line-height:1.12;margin-bottom:.45rem}
  .hero .hero__sub{margin:0;max-width:40ch;font-size:clamp(.88rem,1.1vw,.98rem)}
  .hero .hero__side{display:flex;flex-direction:column;order:1;
    align-items:flex-end;gap:.35rem;text-align:right;margin:1rem 0}
  .hero .hero__price{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;gap:.5rem;margin:0}
  .hero .hero__price span{white-space:nowrap;font-size:1rem}
  .hero .hero__price b{font-size:clamp(1.35rem,2.1vw,1.62rem)}
  .hero .hero__cta{flex-wrap:nowrap;margin:0}
  .hero .hero__cta .btn{padding:.66rem 1.15rem;font-size:.9rem;white-space:nowrap}
}
.hero__copy{--hero-text-glow:0 1px 14px rgba(255,255,255,.85),0 0 34px rgba(255,255,255,.7);max-width:31rem}
.hero__copy :where(h1,.h1-lead,.h1-prod,.hero__sub,.hero__nota,.hero__price,.hero__price b,.hero__price span){
  text-shadow:var(--hero-text-glow)}
.hero h1:has(.h1-lead){display:flex;flex-direction:column;gap:0;line-height:1.12}
.hero .h1-lead{display:block;margin-bottom:20px;line-height:1.12}
@media(max-width:900px){
  .hero h1:has(.h1-lead){align-items:flex-start}
}
@media(min-width:901px){
  .hero h1:has(.h1-lead){align-items:flex-end}
}
.lineicon{width:20px;height:20px;border-radius:4px;flex:0 0 auto}
.hero__eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:600;font-size:.8rem;
  color:var(--plum);border:1px solid rgba(0,147,221,.35);background:rgba(255,255,255,.9);text-shadow:none;padding:.34rem .8rem;border-radius:100px;margin-bottom:1.2rem}
.hero h1{color:var(--ink);margin-bottom:.9rem}
.hero .h1-prod{display:block;margin-top:0;color:var(--plum);font-size:clamp(1.72rem,3.35vw,2.75rem);line-height:1.06}
.hero .h1-prod b{font-weight:800}
@media(max-width:900px){
  .hero .h1-prod{font-size:clamp(1.55rem,7.2vw,2rem)}
}

.hero__sub{font-size:clamp(.98rem,1.5vw,1.14rem);color:var(--ink);font-weight:500;max-width:30rem}
.hero__nota{display:block;margin-top:.45rem;font-size:.86em;font-weight:500}
.hero__cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem;text-shadow:none}
.hero__price{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;margin-top:1.4rem;font-family:var(--display)}
.hero__price b{font-size:clamp(1.4rem,2.3vw,1.75rem);font-weight:700;white-space:nowrap;color:var(--plum)}
.hero__price span{font-size:1rem;color:var(--ink);font-weight:500}
.hero__edge{display:none}
