/* Scene 06 — cierre de la Home: campo compositivo único.
   Sin columnas equilibradas: el isotipo vive detrás/alrededor del copy,
   camuflado en el grafito, no como objeto decorativo aparte. */

/* ── Closing + Footer: campo compositivo compartido ──
   Un solo isotipo monumental (.cf-shell__mark) cruza el límite entre
   Closing y Footer — no dos marcas independientes alineadas a ojo. El
   wrapper posee el fondo oscuro único; las dos secciones quedan
   transparentes para que la misma geometría se lea continua a través del
   boundary tonal (Closing más grafito, Footer levemente más profundo). */
.cf-shell{
  overflow:hidden;
  position:relative;
  isolation:isolate;
  background:var(--bg-primary,#070707);
}

.cf-shell__mark{
  position:absolute;
  z-index:1;
  top:clamp(-72px,-4vw,-32px);
  right:-8vw;
  width:clamp(420px,38vw,720px);
  height:auto;
  pointer-events:none;
}
.cf-shell__mark svg{
  display:block;
  width:100%;
  height:auto;
  fill:var(--text-primary,#F3EEE6);
  opacity:.045;
}

.cf-shell .hc-closing{
  background:#121110;
}
.cf-shell .site-footer-global{
  background:transparent;
}

.hc-closing{
  position:relative;
  padding:clamp(96px,15vh,140px) 8vw clamp(88px,12vh,120px);
  min-height:92svh;
  display:flex;
  align-items:center;
  overflow:hidden;
}

.hc-closing__inner{
  position:relative;
  z-index:1;
  width:100%;
  max-width:1360px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  column-gap:clamp(56px,7vw,100px);
  align-items:center;
}

/* ── zona narrativa ── */

.hc-closing__narrative{
  max-width:560px;
}

.hc-closing__heading{
  margin:0;
  font-family:var(--font-clash,'Clash Display',sans-serif);
  font-weight:400;
  font-size:clamp(2.4rem,1.5rem + 3.6vw,3.9rem);
  line-height:1.1;
  letter-spacing:-.02em;
  color:var(--text-primary,#F3EEE6);
}

.hc-closing__heading-line{
  display:block;
  overflow:hidden;
}

.hc-closing__heading-line span{
  display:block;
  opacity:0;
  transform:translateY(100%);
}

.hc-closing__sub{
  margin-top:clamp(22px,3vh,28px);
  max-width:46ch;
  font-family:var(--font-cabinet,'Cabinet Grotesk',sans-serif);
  font-size:clamp(1rem,.93rem + .25vw,1.1rem);
  line-height:1.62;
  color:var(--text-secondary,#A6A6A3);
  opacity:0;
}

.hc-closing__direct{
  margin-top:clamp(32px,4.5vh,44px);
  display:flex;
  flex-direction:column;
  gap:6px;
  opacity:0;
}

.hc-closing__direct-label{
  font-family:var(--font-cabinet,'Cabinet Grotesk',sans-serif);
  font-size:.78rem;
  color:var(--text-secondary,#A6A6A3);
}

.hc-closing__email{
  font-family:var(--font-cabinet,'Cabinet Grotesk',sans-serif);
  font-size:1rem;
  font-weight:600;
  color:var(--text-primary,#F3EEE6);
  text-decoration:none;
  width:fit-content;
  border-bottom:1px solid rgba(243,238,230,.28);
  padding-bottom:2px;
  transition:color .26s ease,border-color .26s ease;
}
.hc-closing__email:hover,
.hc-closing__email:focus-visible{
  color:var(--accent-copper-light,#E6A078);
  border-color:var(--accent-copper-light,#E6A078);
}
.hc-closing__email:focus-visible{
  outline:2px solid var(--accent-copper,#C9784C);
  outline-offset:3px;
}

/* ── zona acción: formulario ──
   Vive integrado en la composición, no como card SaaS flotante: borde
   sutil + superficie apenas más clara que el grafito del closing. */

.hc-closing__form-wrap{
  opacity:0;
}

.hc-closing__form{
  border:1px solid rgba(243,238,230,.14);
  border-radius:16px;
  background:linear-gradient(165deg,rgba(243,238,230,.07),rgba(243,238,230,.045));
  padding:clamp(28px,3.2vw,40px);
  display:flex;
  flex-direction:column;
  gap:20px;
}

.hcf-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.hcf-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.hcf-field label{
  font-family:var(--font-cabinet,'Cabinet Grotesk',sans-serif);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.02em;
  color:var(--text-secondary,#A6A6A3);
}

.hcf-optional{
  font-weight:400;
  color:rgba(166,166,163,.7);
}

.hcf-field input,
.hcf-field select,
.hcf-field textarea{
  width:100%;
  border:1px solid rgba(243,238,230,.14);
  border-radius:8px;
  background:rgba(5,5,5,.4);
  color:var(--text-primary,#F3EEE6);
  font-family:var(--font-cabinet,'Cabinet Grotesk',sans-serif);
  font-size:.96rem;
  padding:12px 14px;
  min-height:46px;
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}

.hcf-field select{
  color-scheme:dark;
}

.hcf-field textarea{
  min-height:132px;
  max-height:280px;
  resize:vertical;
  overflow-y:auto;
  line-height:1.5;
}

.hcf-field textarea[name="current_process"]{
  min-height:104px;
}

.hcf-field input::placeholder,
.hcf-field textarea::placeholder{
  color:rgba(166,166,163,.5);
}

.hcf-field input:hover,
.hcf-field select:hover,
.hcf-field textarea:hover{
  border-color:rgba(243,238,230,.26);
}

.hcf-field input:focus-visible,
.hcf-field select:focus-visible,
.hcf-field textarea:focus-visible{
  outline:none;
  border-color:var(--accent-copper,#C9784C);
  background:rgba(5,5,5,.55);
  box-shadow:0 0 0 3px rgba(201,120,76,.16);
}

.hcf-field.is-error input,
.hcf-field.is-error select,
.hcf-field.is-error textarea{
  border-color:#C9704C;
}

.hcf-error{
  min-height:16px;
  font-size:.78rem;
  color:#E08A6B;
}

.hcf-actions{
  margin-top:4px;
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}

.hcf-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding-inline:30px;
  border:none;
  border-radius:999px;
  background:var(--bryde-color-light-base,#F3EEE6);
  color:var(--bg-primary,#070707);
  font-family:var(--font-cabinet,'Cabinet Grotesk',sans-serif);
  font-weight:700;
  font-size:.94rem;
  letter-spacing:.01em;
  cursor:pointer;
  transition:background-color .26s ease,transform .26s ease,opacity .26s ease;
}
.hcf-submit:hover,
.hcf-submit:focus-visible{
  background:var(--accent-copper-light,#E6A078);
  transform:translateY(-2px);
}
.hcf-submit:focus-visible{
  outline:2px solid var(--accent-copper,#C9784C);
  outline-offset:3px;
}
.hcf-submit:disabled{
  opacity:.6;
  cursor:default;
  transform:none;
}

.hcf-status{
  margin:0;
  font-family:var(--font-cabinet,'Cabinet Grotesk',sans-serif);
  font-size:.86rem;
  color:var(--text-secondary,#A6A6A3);
}
.hcf-status[data-state="error"]{ color:#E08A6B; }
.hcf-status[data-state="success"]{ color:#9FCBA6; }

.hcf-consent{
  margin:0;
  font-family:var(--font-cabinet,'Cabinet Grotesk',sans-serif);
  font-size:.76rem;
  line-height:1.5;
  color:rgba(166,166,163,.78);
}
.hcf-consent a{ color:inherit; text-underline-offset:2px; }
.hcf-consent a:hover,.hcf-consent a:focus-visible{ color:var(--text-primary,#F3EEE6); }
.hcf-honeypot{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

@media (min-width:1000px){
  .hc-closing__narrative{ padding-top:6px; }
}

@media (max-width:1080px){
  .hc-closing__inner{
    grid-template-columns:1fr;
    row-gap:clamp(48px,7vh,64px);
  }
  .hc-closing__narrative{ max-width:640px; }
}

@media (max-width:820px){
  .hc-closing{
    min-height:auto;
    padding:clamp(72px,12vh,100px) 7vw clamp(64px,9vh,88px);
  }
  .hc-closing__heading{
    font-size:clamp(2.1rem,1.5rem + 6vw,2.7rem);
  }
  .hc-closing__sub{ max-width:none; }
  .hcf-row{ grid-template-columns:1fr; gap:20px; }
  .hc-closing__form{ padding:24px 20px; }
  .hcf-field textarea{ min-height:120px; max-height:200px; }
  .hcf-field textarea[name="current_process"]{ min-height:104px; }
  .hcf-actions{ width:100%; }
  .hcf-submit{ width:100%; }

  /* móvil: el isotipo recede a la esquina superior-derecha, recortado,
     sin competir con el heading protagonista — sigue cruzando hacia el
     footer, solo más contenido en escala. */
  .cf-shell__mark{
    top:clamp(24px,6vh,64px);
    right:-20vw;
    width:clamp(220px,58vw,320px);
  }
}

@media (prefers-reduced-motion:reduce){
  .hc-closing__heading-line span,
  .hc-closing__sub,
  .hc-closing__direct,
  .hc-closing__form-wrap{opacity:1;transform:none}
  .cf-shell__mark svg{opacity:.045!important}
}
