/* RuGo v086 — 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-v086{
  --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-v086{
  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-v086__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-v086__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-v086__hero.is-unresolved::after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--contact-paper);
}

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

.contact-v086__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-v086__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-v086__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-v086__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-v086__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-v086__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-v086__rows{
  min-height:0;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
}

.contact-v086__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-v086__row:first-child{
  border-top:1px solid rgba(17,17,15,.12);
}

.contact-v086__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-v086__row-label em{
  font-style:normal;
  color:var(--contact-muted);
  font-size:clamp(9px,.64vw,11px);
  font-weight:700;
  letter-spacing:.07em;
}

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

.contact-v086__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-v086__input:hover{
  border-bottom-color:rgba(17,17,15,.70);
}

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

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

.contact-v086__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-v086__row--consent{
  grid-template-columns:minmax(155px,.31fr) minmax(0,.69fr);
}

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

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

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

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

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

.contact-v086__consent input:checked + .contact-v086__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-v086__consent input:focus-visible + .contact-v086__checkbox{
  outline:2px solid var(--contact-red);
  outline-offset:3px;
}

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

.contact-v086__row.is-invalid .contact-v086__checkbox{
  border-color:var(--contact-red);
}

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

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

.contact-v086__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-v086__submit::after{
  content:"→";
  font-size:.96em;
  transform:translateX(0);
  transition:transform 150ms ease;
}

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

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

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

.contact-v086__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-v086__status.is-error{
  color:var(--contact-red);
}

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

.contact-v086__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-v086__footer-group{
  min-width:0;
}

.contact-v086__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-v086__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-v086__footer-text,
.contact-v086__footer-link,
.contact-v086__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-v086__footer-link:hover,
.contact-v086__footer-link:focus-visible{
  color:var(--contact-red);
}

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

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

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

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

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

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

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

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

/* ==========================================================
   v086 — ALTERNATIVE 4 OVERRIDES
   RED = POSTER-LIKE EDITORIAL
   GREEN = ARCHITECTURAL TECHNICAL SHEET

   IMPORTANT:
   HERO + FOOTER rules above are direct v085 clones.
   ========================================================== */

.contact-v086__main{
  grid-template-columns:
    minmax(0,.43fr)
    minmax(0,.57fr);
  column-gap:clamp(26px,2.5vw,46px);
}

/* ----------------------------------------------------------
   RED / POSTER
   ---------------------------------------------------------- */

.contact-v086__editorial{
  position:relative;
  justify-content:flex-start;
  padding:
    clamp(8px,1.0vh,14px)
    clamp(28px,2.9vw,50px)
    clamp(18px,2.2vh,28px)
    clamp(38px,3.7vw,62px);
}

.contact-v086__kicker{
  margin:0;
  color:var(--contact-red);
  font-size:clamp(46px,4.55vw,76px);
  line-height:.88;
  font-weight:650;
  letter-spacing:-.055em;
  text-transform:uppercase;
}

.contact-v086__headline{
  margin:
    clamp(46px,6.1vh,74px)
    0
    0;
  max-width:570px;
  font-size:clamp(58px,5.20vw,86px);
  line-height:.86;
  letter-spacing:-.063em;
}

.contact-v086__headline-line{
  display:block;
}

.contact-v086__support{
  position:absolute;
  left:clamp(38px,3.7vw,62px);
  right:clamp(28px,2.9vw,50px);
  bottom:clamp(18px,2.2vh,28px);
  width:min(100%,470px);
}

/* A restrained architectural datum — not a fabricated project drawing. */
.contact-v086__editorial-datum{
  position:absolute;
  left:clamp(38px,3.7vw,62px);
  right:clamp(28px,2.9vw,50px);
  bottom:clamp(86px,10.5vh,118px);
  height:42px;
  border-top:1px solid rgba(17,17,15,.15);
  border-bottom:1px solid rgba(17,17,15,.07);
}

.contact-v086__editorial-datum::before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:26%;
  border-top:2px solid var(--contact-red);
}

/* ----------------------------------------------------------
   GREEN / TECHNICAL SHEET
   ---------------------------------------------------------- */

.contact-v086__form{
  min-height:0;
  display:flex;
  flex-direction:column;
  padding:
    clamp(8px,1.0vh,14px)
    clamp(34px,3.0vw,56px)
    clamp(12px,1.5vh,22px);
  border:1px solid rgba(17,17,15,.30);
}

.contact-v086__sheet-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:0 0 clamp(14px,1.8vh,20px);
  border-bottom:1px solid rgba(17,17,15,.18);
}

.contact-v086__sheet-title,
.contact-v086__sheet-mark{
  margin:0;
  color:var(--contact-ink);
  font-size:clamp(11px,.80vw,14px);
  line-height:1;
  font-weight:750;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.contact-v086__sheet-mark{
  font-size:10px;
  letter-spacing:.08em;
}

.contact-v086__sheet-section{
  display:block;
}

.contact-v086__sheet-section--data{
  flex:0 0 auto;
}

.contact-v086__sheet-section--consent{
  margin-top:clamp(10px,1.1vh,14px);
  padding-top:clamp(12px,1.5vh,18px);
  border-top:1px solid rgba(17,17,15,.25);
}

.contact-v086__sheet-section-title{
  display:block;
  margin:0;
  padding:0 0 clamp(8px,1.1vh,13px);
  color:var(--contact-ink);
  font-size:clamp(10px,.72vw,12px);
  line-height:1;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/*
  Core project data remains the dominant form information.
*/
.contact-v086__sheet-section--data .contact-v086__row{
  grid-template-columns:
    minmax(145px,.27fr)
    minmax(0,.73fr);
  min-height:clamp(50px,5.25vh,64px);
  border-bottom:0;
}

.contact-v086__sheet-section--data .contact-v086__row:first-child{
  border-top:0;
}

.contact-v086__sheet-section--data .contact-v086__row-label{
  font-size:clamp(19px,1.48vw,25px);
}

.contact-v086__sheet-section--data .contact-v086__input{
  font-size:clamp(18px,1.42vw,25px);
}

/*
  Technical-sheet input line spans almost the complete answer field.
*/
.contact-v086__sheet-section--data .contact-v086__field{
  padding-left:6px;
}

.contact-v086__sheet-section--data .contact-v086__input{
  border-bottom:1px solid rgba(17,17,15,.34);
}

/* Consent as its own information block. */
.contact-v086__sheet-section--consent .contact-v086__row{
  grid-template-columns:
    minmax(145px,.27fr)
    minmax(0,.73fr);
  min-height:clamp(54px,5.55vh,66px);
  border-bottom:0;
}

.contact-v086__sheet-section--consent .contact-v086__row:first-of-type{
  border-top:0;
}

.contact-v086__sheet-section--consent .contact-v086__row-label{
  font-size:clamp(14px,1.05vw,18px);
  letter-spacing:-.018em;
}

.contact-v086__consent{
  grid-template-columns:22px minmax(0,1fr);
  gap:15px;
}

.contact-v086__consent-text{
  font-size:clamp(11px,.84vw,14px);
}

.contact-v086__consent-text strong{
  color:var(--contact-ink);
  font-weight:700;
}

.contact-v086__action{
  margin-top:auto;
  padding-top:clamp(14px,1.8vh,22px);
  border-top:1px solid rgba(17,17,15,.18);
}

.contact-v086__submit{
  font-size:clamp(28px,2.40vw,41px);
}

/*
  No external red/green outline is drawn.
  The technical-sheet structure itself provides the architectural frame.
*/
@media(max-width:1180px){
  .contact-v086__headline{
    font-size:clamp(54px,5.05vw,74px);
  }

  .contact-v086__kicker{
    font-size:clamp(42px,4.30vw,64px);
  }

  .contact-v086__sheet-section--data .contact-v086__row,
  .contact-v086__sheet-section--consent .contact-v086__row{
    grid-template-columns:
      minmax(125px,.28fr)
      minmax(0,.72fr);
  }
}