/* RuGo v085 — CONTACTO
   Scope:
   - full-width project hero band;
   - editorial block occupies complete left proportion;
   - contact information becomes six vertical rows;
   - larger form hierarchy;
   - larger CONTINUAR action;
   - real footer composition.

   Local candidate / NOT production.
   Closed screens remain untouched.
*/

.core-panel--contact,
.contact-screen-v085{
  --contact-red:var(--launch-accent,var(--launch-red,#e1261c));
  --contact-ink:var(--launch-ink,#11110f);
  --contact-paper:var(--launch-paper,#f4f1ea);
  --contact-muted:rgba(17,17,15,.56);
  --contact-line:rgba(17,17,15,.30);

  position:relative;
  min-height:100svh;
  overflow:hidden;
  background:var(--contact-paper)!important;
  color:var(--contact-ink);
  font-family:var(--launch-font);
}

/*
  PROYECTOS remains the upper spatial navigation.
  The contact composition begins beneath that edge word.
*/
.contact-v085{
  position:absolute;
  inset:7.0vh 0 0;
  display:grid;
  grid-template-rows:
    minmax(220px,25.5vh)
    minmax(0,1fr)
    minmax(110px,12.5vh);
  row-gap:clamp(18px,2.2vh,28px);
}

/* ==========================================================
   BLUE REFERENCE / HERO BAND
   ========================================================== */

.contact-v085__hero{
  position:relative;
  width:100%;
  height:100%;
  margin:0;
  overflow:hidden;
  background:
    linear-gradient(
      90deg,
      rgba(17,17,15,.045),
      rgba(17,17,15,.015)
    );
}

.contact-v085__hero-image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 55%;
  opacity:1;
}

/*
  If Arecibo cannot be resolved from the existing Projects DOM,
  the band stays page-colored rather than inventing an image.
*/
.contact-v085__hero.is-unresolved::after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--contact-paper);
}

/* ==========================================================
   MAIN BAND — RED + GREEN REFERENCES
   ========================================================== */

.contact-v085__main{
  min-height:0;
  display:grid;
  grid-template-columns:
    minmax(0,.43fr)
    minmax(0,.57fr);
  column-gap:clamp(20px,1.4vw,30px);
  padding:
    0
    clamp(36px,3.7vw,64px);
}

/* ----------------------------------------------------------
   EDITORIAL / LEFT
   ---------------------------------------------------------- */

.contact-v085__editorial{
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:
    clamp(8px,1.0vh,14px)
    clamp(26px,2.7vw,48px)
    clamp(18px,2.2vh,28px)
    clamp(38px,3.7vw,62px);
}

.contact-v085__kicker{
  display:block;
  margin:0;
  color:var(--contact-red);
  font-size:clamp(44px,4.35vw,72px);
  line-height:.90;
  font-weight:650;
  letter-spacing:-.048em;
  text-transform:uppercase;
}

.contact-v085__headline{
  margin:0;
  max-width:560px;
  color:var(--contact-ink);
  font-size:clamp(54px,4.65vw,78px);
  line-height:.90;
  font-weight:650;
  letter-spacing:-.058em;
}

.contact-v085__support{
  width:min(100%,470px);
  margin:0;
  color:var(--contact-muted);
  font-size:clamp(13px,1.0vw,17px);
  line-height:1.5;
  letter-spacing:-.012em;
}

/* ----------------------------------------------------------
   VERTICAL FORM / RIGHT
   ---------------------------------------------------------- */

.contact-v085__form{
  min-height:0;
  display:flex;
  flex-direction:column;
  padding:
    clamp(8px,1.0vh,14px)
    clamp(36px,3.0vw,56px)
    clamp(12px,1.5vh,22px);
}

.contact-v085__rows{
  min-height:0;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
}

.contact-v085__row{
  position:relative;
  display:grid;
  grid-template-columns:minmax(155px,.31fr) minmax(0,.69fr);
  align-items:center;
  min-height:clamp(54px,6.0vh,72px);
  border-bottom:1px solid rgba(17,17,15,.12);
}

.contact-v085__row:first-child{
  border-top:1px solid rgba(17,17,15,.12);
}

.contact-v085__row-label{
  display:flex;
  align-items:baseline;
  gap:12px;
  padding-right:18px;
  color:var(--contact-ink);
  font-size:clamp(21px,1.68vw,28px);
  line-height:1;
  font-weight:650;
  letter-spacing:-.028em;
  text-transform:uppercase;
}

.contact-v085__row-label em{
  font-style:normal;
  color:var(--contact-muted);
  font-size:clamp(9px,.64vw,11px);
  font-weight:700;
  letter-spacing:.07em;
}

.contact-v085__field{
  position:relative;
  display:flex;
  min-width:0;
  align-items:center;
}

.contact-v085__input{
  width:100%;
  min-width:0;
  margin:0;
  padding:8px 0 7px;
  border:0;
  border-bottom:1px solid var(--contact-line);
  border-radius:0;
  outline:0;
  background:transparent;
  box-shadow:none;
  color:var(--contact-ink);
  font:500 clamp(20px,1.55vw,27px)/1.12 var(--launch-font);
  letter-spacing:-.025em;
  transition:border-color 150ms ease;
}

.contact-v085__input:hover{
  border-bottom-color:rgba(17,17,15,.70);
}

.contact-v085__input:focus{
  border-bottom-color:var(--contact-red);
}

.contact-v085__row.is-invalid .contact-v085__input{
  border-bottom-color:var(--contact-red);
}

.contact-v085__error{
  position:absolute;
  right:0;
  bottom:-14px;
  color:var(--contact-red);
  font-size:9px;
  line-height:1;
  font-weight:750;
  letter-spacing:.06em;
  text-transform:uppercase;
}

/* ----------------------------------------------------------
   PRIVACY / MARKETING ROWS
   ---------------------------------------------------------- */

.contact-v085__row--consent{
  grid-template-columns:minmax(155px,.31fr) minmax(0,.69fr);
}

.contact-v085__row--consent .contact-v085__row-label{
  font-size:clamp(17px,1.35vw,22px);
}

.contact-v085__consent{
  position:relative;
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:center;
  gap:14px;
  cursor:pointer;
}

.contact-v085__consent input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.contact-v085__checkbox{
  position:relative;
  width:19px;
  height:19px;
  border:1px solid rgba(17,17,15,.58);
  transition:
    border-color 140ms ease,
    background 140ms ease;
}

.contact-v085__consent input:checked + .contact-v085__checkbox{
  border-color:var(--contact-red);
  background:var(--contact-red);
}

.contact-v085__consent input:checked + .contact-v085__checkbox::after{
  content:"";
  position:absolute;
  left:5px;
  top:2px;
  width:5px;
  height:9px;
  border:solid var(--contact-paper);
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

.contact-v085__consent input:focus-visible + .contact-v085__checkbox{
  outline:2px solid var(--contact-red);
  outline-offset:3px;
}

.contact-v085__consent-text{
  color:var(--contact-muted);
  font-size:clamp(11px,.82vw,14px);
  line-height:1.42;
  letter-spacing:-.006em;
}

.contact-v085__row.is-invalid .contact-v085__checkbox{
  border-color:var(--contact-red);
}

/* ----------------------------------------------------------
   CONTINUAR
   ---------------------------------------------------------- */

.contact-v085__action{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding-top:clamp(12px,1.6vh,20px);
}

.contact-v085__submit{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:16px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--contact-red);
  font-family:var(--launch-font);
  font-size:clamp(28px,2.45vw,42px);
  line-height:.92;
  font-weight:650;
  letter-spacing:-.035em;
  text-transform:uppercase;
  cursor:pointer;
}

.contact-v085__submit::after{
  content:"→";
  font-size:.96em;
  transform:translateX(0);
  transition:transform 150ms ease;
}

.contact-v085__submit:hover,
.contact-v085__submit:focus-visible{
  color:var(--contact-ink);
}

.contact-v085__submit:hover::after,
.contact-v085__submit:focus-visible::after{
  transform:translateX(7px);
}

.contact-v085__submit:focus-visible{
  outline:1px solid currentColor;
  outline-offset:7px;
}

.contact-v085__status{
  max-width:280px;
  margin:0;
  color:var(--contact-muted);
  font-size:9px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:.055em;
  text-align:right;
  text-transform:uppercase;
}

.contact-v085__status.is-error{
  color:var(--contact-red);
}

/* ==========================================================
   ORANGE REFERENCE / FOOTER
   ========================================================== */

.contact-v085__footer{
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr 1fr;
  gap:clamp(24px,3.2vw,54px);
  align-items:start;
  padding:
    clamp(18px,2.3vh,28px)
    clamp(36px,3.7vw,64px)
    0;
  border-top:1px solid rgba(17,17,15,.18);
}

.contact-v085__footer-group{
  min-width:0;
}

.contact-v085__footer-brand{
  margin:0 0 5px;
  color:var(--contact-ink);
  font-size:clamp(22px,1.8vw,30px);
  line-height:.95;
  font-weight:700;
  letter-spacing:-.04em;
}

.contact-v085__footer-heading{
  display:block;
  margin:0 0 7px;
  color:var(--contact-red);
  font-size:9px;
  line-height:1;
  font-weight:750;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.contact-v085__footer-text,
.contact-v085__footer-link,
.contact-v085__footer-static{
  display:block;
  margin:0 0 3px;
  color:var(--contact-muted);
  font-size:clamp(10px,.73vw,12px);
  line-height:1.38;
  letter-spacing:-.005em;
  text-decoration:none;
}

.contact-v085__footer-link:hover,
.contact-v085__footer-link:focus-visible{
  color:var(--contact-red);
}

.contact-v085__footer-link[hidden]{
  display:none!important;
}

.contact-v085__footer-static{
  color:var(--contact-muted);
}

/* Upper edge navigation stays above hero. */
.contact-screen-v085 > .edge-nav--top{
  z-index:50;
}

@media(max-width:1180px){
  .contact-v085__main{
    padding-left:3.0vw;
    padding-right:3.0vw;
  }

  .contact-v085__editorial{
    padding-left:3.0vw;
    padding-right:2.0vw;
  }

  .contact-v085__form{
    padding-left:2.4vw;
    padding-right:2.4vw;
  }

  .contact-v085__row{
    grid-template-columns:minmax(135px,.30fr) minmax(0,.70fr);
  }

  .contact-v085__row--consent{
    grid-template-columns:minmax(135px,.30fr) minmax(0,.70fr);
  }
}