/* Integraciones de contacto */
.header-cta { display:inline-flex; align-items:center; gap:.5rem; }
.header-whatsapp-icon { width:18px; height:18px; }
.contact-actions .mail-action,.contact-actions .call-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:250px; min-height:54px; margin:0; padding:12px 18px; border-radius:2px; font-size:0!important; text-align:center; text-decoration:none; }
.contact-actions .mail-action { color:transparent; box-shadow:0 7px 16px rgba(29,89,2,.18); }
.contact-actions .mail-action::before { content:"✉"; flex:0 0 auto; color:#fff; font-size:18px!important; line-height:1; }
.contact-actions .mail-action::after { content:"Enviar un correo"; color:#fff; font:700 16px/26.4px "Open Sans",Arial,sans-serif!important; letter-spacing:.3px; text-transform:uppercase; white-space:nowrap; }
.contact-actions .call-action { background:var(--tan); border:1px solid var(--tan); color:transparent; box-shadow:0 7px 16px rgba(166,123,91,.26); }
.contact-actions .call-action::before { content:"☎"; flex:0 0 auto; color:#fff; font-size:19px!important; line-height:1; }
.contact-actions .call-action::after { content:"Llamar a Oasis Plaza"; color:#fff; font:700 16px/26.4px "Open Sans",Arial,sans-serif!important; letter-spacing:.3px; text-transform:uppercase; white-space:nowrap; }
.contact-actions .call-action:hover { background:#8d6549; color:transparent; }
.hubspot-form-shell { width:min(100%,680px); margin:2.5rem auto 0; padding:clamp(1.25rem,4vw,2.5rem); background:#fff; border-top:3px solid var(--green); box-shadow:0 14px 35px rgba(21,46,37,.1); }
.hubspot-form-shell .hs-form-field { margin-bottom:1rem; }
.hubspot-form-shell label,.hubspot-form-shell .hs-form-field>label { display:block; margin-bottom:.4rem; color:var(--green); font:600 .9rem/1.4 "Open Sans",sans-serif; }
.hubspot-form-shell input,.hubspot-form-shell select,.hubspot-form-shell textarea { box-sizing:border-box; width:100%!important; padding:.75rem .85rem; border:1px solid #d7d0c9; color:#24332b; font:400 1rem/1.45 "Open Sans",sans-serif; }
.hubspot-form-shell textarea { min-height:8rem; }
.hubspot-form-shell .hs-button { display:inline-flex; justify-content:center; padding:.9rem 1.45rem; border:0; background:var(--green); color:#fff; cursor:pointer; font:700 .82rem/1 "Montserrat",sans-serif; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; }
.hubspot-form-shell .hs-button:hover { background:var(--green-2); }
.hubspot-form-shell .hs-error-msgs { color:#9d2b20; font-size:.85rem; }
@media (max-width:780px) {
  .contact-actions { align-items:center; }
  .contact-actions .mail-action,
  .contact-actions .call-action,
  .contact-actions .whatsapp-action { width:min(250px, 100%); }
  .hubspot-form-shell { margin-top:1.5rem; }
}

/* Keep the authentic photo and the headline in one composition at every width. */
.hero {
  display:flex;
  align-items:center;
  height:clamp(590px, 50vw, 760px);
  overflow:hidden;
  background:#1d5902;
}
.hero-photo { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.hero-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.hero-panel-logos { position:absolute; inset:0; display:block; width:100%; height:100%; pointer-events:none; }
.hero-shade {
  z-index:-1;
  background:linear-gradient(90deg, transparent 0%, rgba(29,89,2,.12) 34%, rgba(29,89,2,.52) 51%, rgba(29,89,2,.68) 100%);
}
.hero-content {
  width:min(54%, 760px);
  max-width:none;
  margin:0 3% 0 auto;
  padding:32px clamp(20px, 3vw, 48px);
  position:relative;
  z-index:1;
  text-shadow:0 2px 9px rgba(17,45,9,.32);
}
.hero h1 { margin:0 0 18px; font-size:clamp(36px, 3.5vw, 54px); line-height:1.15; }
.hero-copy { max-width:620px; font-size:clamp(17px, 1.4vw, 20px); }

@media (max-width:900px) {
  .hero { display:flex; height:clamp(540px, 72vw, 650px); }
  .hero-photo { position:absolute; width:auto; aspect-ratio:auto; }
  .hero-photo img { width:100%; object-position:center top; }
  .hero-shade { display:block; background:linear-gradient(90deg, transparent 0%, rgba(29,89,2,.18) 29%, rgba(29,89,2,.6) 48%, rgba(29,89,2,.72) 100%); }
  .hero-content { width:55%; margin:0 2% 0 auto; padding:24px 14px; }
  .hero h1 { font-size:clamp(29px, 4.5vw, 42px); }
  .hero-copy { font-size:clamp(15px, 1.9vw, 18px); }
}
@media (max-width:600px) {
  .hero { height:clamp(650px, calc(100svh - 78px), 780px); align-items:flex-end; }
  .hero-photo img { object-position:left top; }
  .hero-shade { background:linear-gradient(180deg, transparent 0%, transparent 35%, rgba(29,89,2,.17) 50%, rgba(29,89,2,.62) 72%, rgba(29,89,2,.82) 100%); }
  .hero-content { width:100%; margin:0; padding:28px clamp(20px, 6vw, 32px) 36px; }
  .hero h1 { font-size:clamp(29px, 7.5vw, 39px); line-height:1.12; }
  .hero-copy { font-size:16px; line-height:1.5; }
}
