/* RuGo v084 — CONTACTO Redesign Pass 1
   PRIMARY CONTACT SCREEN ONLY.
   Local visual candidate / NOT production.

   Closed systems remain untouched:
   NOSOTROS / SERVICES / PROJECTS / LAB SPACE / shared branches.
*/

.contact-screen-v084{
  --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,.58);
  --contact-line:rgba(17,17,15,.38);
  --contact-axis-x:5.55vw;

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

.contact-v084{
  position:absolute;
  inset:8.6vh 8.6vw 8.8vh 8.6vw;
  display:grid;
  grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);
  column-gap:clamp(70px,8vw,150px);
  align-items:center;
}

/* ==========================================================
   LEFT / EDITORIAL
   ========================================================== */

.contact-v084__editorial{
  min-width:0;
  align-self:center;
  padding-left:calc((100vh / 8) * .30);
}

.contact-v084__kicker{
  display:block;
  margin:0 0 clamp(18px,2.1vh,26px);
  color:var(--contact-red);
  font-size:clamp(10px,.72vw,12px);
  line-height:1;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.contact-v084__title{
  margin:0;
  max-width:560px;
  font-size:clamp(62px,5.15vw,86px);
  line-height:.91;
  letter-spacing:-.058em;
  font-weight:650;
  color:var(--contact-ink);
}

.contact-v084__copy{
  width:min(100%,480px);
  margin:clamp(22px,2.7vh,34px) 0 0;
  font-size:clamp(13px,1.02vw,17px);
  line-height:1.52;
  letter-spacing:-.012em;
  color:var(--contact-muted);
}

/* ==========================================================
   RIGHT / STEP 1
   ========================================================== */

.contact-v084__form{
  width:100%;
  max-width:680px;
  justify-self:end;
  align-self:center;
  margin:0;
  padding:0;
}

.contact-v084__fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(30px,4.6vh,50px) clamp(28px,3.2vw,48px);
}

.contact-v084__field{
  display:block;
  min-width:0;
  margin:0;
}

.contact-v084__field-label{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
  font-size:clamp(10px,.70vw,12px);
  line-height:1;
  font-weight:700;
  letter-spacing:.09em;
  color:var(--contact-ink);
  text-transform:uppercase;
}

.contact-v084__field-label em{
  font-style:normal;
  font-weight:600;
  color:var(--contact-muted);
  letter-spacing:.06em;
}

.contact-v084__input{
  width:100%;
  min-width:0;
  height:42px;
  margin:0;
  padding:3px 0 8px;
  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(14px,1.04vw,17px)/1.2 var(--launch-font);
  letter-spacing:-.012em;
  transition:
    border-color 150ms ease,
    color 150ms ease;
}

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

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

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

.contact-v084__error{
  display:block;
  min-height:15px;
  padding-top:6px;
  color:var(--contact-red);
  font-size:9px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
}

/* ==========================================================
   CONSENT
   ========================================================== */

.contact-v084__consents{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px clamp(28px,3.2vw,48px);
  margin-top:clamp(28px,3.8vh,42px);
  padding-top:18px;
  border-top:1px solid rgba(17,17,15,.11);
}

.contact-v084__consent{
  position:relative;
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:11px;
  align-items:start;
  cursor:pointer;
}

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

.contact-v084__checkbox{
  position:relative;
  width:16px;
  height:16px;
  margin-top:2px;
  border:1px solid rgba(17,17,15,.54);
  background:transparent;
  transition:
    border-color 140ms ease,
    background 140ms ease;
}

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

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

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

.contact-v084__consent-text{
  display:block;
  color:var(--contact-muted);
  font-size:clamp(10px,.76vw,12px);
  line-height:1.45;
  letter-spacing:-.006em;
}

.contact-v084__consent-text strong{
  display:block;
  margin-bottom:3px;
  color:var(--contact-ink);
  font-size:10px;
  line-height:1.1;
  font-weight:700;
  letter-spacing:.075em;
  text-transform:uppercase;
}

.contact-v084__consent.is-invalid .contact-v084__checkbox{
  border-color:var(--contact-red);
}

/* ==========================================================
   ACTION
   ========================================================== */

.contact-v084__actions{
  display:flex;
  align-items:center;
  gap:24px;
  margin-top:clamp(30px,4vh,44px);
}

.contact-v084__submit{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:11px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--contact-red);
  font-family:var(--launch-font);
  font-size:clamp(12px,.90vw,15px);
  line-height:1;
  font-weight:750;
  letter-spacing:.045em;
  cursor:pointer;
  text-transform:uppercase;
  transition:color 150ms ease;
}

.contact-v084__submit::after{
  content:"→";
  display:inline-block;
  font-size:1.12em;
  line-height:1;
  transform:translateX(0);
  transition:transform 150ms ease;
}

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

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

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

.contact-v084__status{
  min-height:16px;
  margin:0;
  color:var(--contact-muted);
  font-size:9px;
  line-height:1.35;
  font-weight:650;
  letter-spacing:.055em;
  text-transform:uppercase;
}

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

/* Existing upper navigation remains authoritative. */
.contact-screen-v084 > .edge-nav--top{
  z-index:40;
}

@media(max-width:1180px){
  .contact-v084{
    column-gap:5.6vw;
  }

  .contact-v084__title{
    font-size:clamp(56px,5.25vw,72px);
  }

  .contact-v084__copy{
    font-size:13px;
  }
}