.hero-layout{position:absolute;inset:82px 5vw 5vh 6vw;display:grid;grid-template-columns:1.15fr .65fr;gap:5vw;align-items:end;z-index:auto}
.hero-layout .hero-copy{
  position:static;
  max-width:840px;
  padding-top:0;
  padding-bottom:2vh;
  align-self:end;
  min-height:calc(clamp(7rem,16vh,11rem) - 50px + 15rem);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.hero-layout .hero-copy-stack{width:100%}
.hero-form{position:relative;z-index:4;align-self:center;background:rgba(241,241,237,.97);color:var(--black);padding:1.6rem 1.8rem 1.4rem;max-width:500px;justify-self:end;max-height:calc(100svh - 110px);overflow:auto}
.hero-form .wizard-intro .form-title{font:600 clamp(1.6rem,2.4vw,2.2rem) "Space Grotesk";letter-spacing:-.04em;line-height:1.05;margin:0 0 .6rem}
.hero-form .wizard-intro>p:not(.eyebrow):not(.form-title){font-size:.82rem;margin:0 0 .4rem}
.hero-form .wizard-intro .eyebrow{margin-bottom:.8rem}
.hero-form .project-wizard{background:transparent;color:var(--black);padding:0;min-height:0;display:flex;flex-direction:column;gap:.4rem}
.hero-form .wizard-top{margin-top:.8rem}
.hero-form .wizard-step{padding-top:1rem}
.hero-form .wizard-step h3{font-size:clamp(1.35rem,2.2vw,1.85rem);margin-bottom:.4rem}
.hero-form .wizard-step>p:not(.eyebrow){font-size:.78rem;margin-bottom:0}
.hero-form .choice-grid{margin-top:1rem;gap:.55rem}
.hero-form .choice-grid button{padding:.9rem}
.hero-form .chips{margin-top:1rem}
.hero-form .wizard-nav{padding-top:1rem}
.hero-form .wizard-success{padding-top:1.5rem}
.hero-form .wizard-success h3{font-size:clamp(1.5rem,2.4vw,2rem)}
.hero-form .wizard-hint{display:block;margin-top:.6rem;font-size:.67rem}
.hero-form .wizard-step label{margin-top:.8rem}
.hero-form .wizard-step input{padding:.75rem;font-size:.9rem}

/* CTA con relleno de progreso (hero + contact) */
.wizard-progress-cta{position:relative;overflow:hidden;width:100%;border:0;background:#c5c9c2;color:var(--black);padding:1rem 1.1rem;font:700 .78rem Raleway;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;margin-top:.6rem;isolation:isolate}
.wizard-progress-cta:disabled{cursor:not-allowed;opacity:.9}
.wizard-progress-cta__fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--lime);transition:width .35s ease;z-index:0}
.wizard-progress-cta__label{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.wizard-progress-cta__pct{font-variant-numeric:tabular-nums;opacity:.75}
.wizard-progress-cta:not(:disabled) .wizard-progress-cta__fill{background:var(--lime)}
.project-wizard--hero .wizard-top .progress,
.project-wizard--hero .wizard-nav .wizard-next,
.project-wizard--contact .wizard-nav .wizard-next{display:none}
.project-wizard--hero .wizard-nav{justify-content:flex-start;padding-top:.8rem;margin-top:0}
.project-wizard--contact .wizard-progress-cta{margin-top:1rem}

@media(max-width:820px){
  .hero{height:auto;min-height:0;padding-bottom:8vw;background:#111;overflow:visible}
  .hero>img,.hero-shade{position:absolute;inset:0;height:56vh;max-height:56vh}
  /* Copy debajo de imagen + franja blanca (~18vh) */
  .hero-layout{position:relative;inset:auto;display:block;padding:58vh 5vw 0;width:100%;box-sizing:border-box}
  .hero-layout .hero-copy{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    min-height:0;
    max-width:none;
    padding-top:.6rem;
    padding-bottom:0;
    width:100%;
  }
  .hero-form{margin-top:3rem;max-width:none;padding:1.5rem;max-height:none}
  .hero h1{font-size:clamp(2.4rem,10vw,4rem)!important}
}
