/**
 * Contact page — Production Revision
 * Scoped: body.contact-page · load LAST on contact.html (after contact-phase11.css)
 *
 * Shorter hero, clearer form fields, tighter rhythm, sharper submit control,
 * stronger disclaimer and footer legibility. No layout, copy or section-order
 * changes.
 */

body.contact-page{
  --ct-prod-input-border:rgba(17,17,17,0.38);
  --ct-prod-input-border-hover:rgba(17,17,17,0.48);
  --ct-prod-legal:#1f1f1f;
  --ct-prod-field-gap:clamp(var(--bh-space-3),2.4vw,var(--bh-space-4));
}

/* =========================================================================
   Hero — ~20% shorter
   ========================================================================= */
body.contact-page .ct-hero__shell{
  padding-top:clamp(20px,3.4vw,38px);
  padding-bottom:clamp(15px,2.5vw,29px);
  padding-left:calc(var(--space-section-x) + var(--bh-space-6));
}

body.contact-page .ct-hero__rail{
  top:clamp(34px,7vh,76px);
  bottom:clamp(24px,5vh,56px);
}

body.contact-page .ct-hero__kicker{
  margin-bottom:var(--bh-space-3);
}

body.contact-page .ct-hero__title{
  margin-bottom:clamp(var(--bh-space-4),3.2vw,var(--bh-space-5));
}

body.contact-page .ct-hero__lead--secondary{
  margin-top:clamp(var(--bh-space-2),1.8vw,var(--bh-space-3));
}

body.contact-page .ct-hero__marker{
  margin-top:clamp(var(--bh-space-4),3.6vw,var(--bh-space-5));
}

/* =========================================================================
   Reduce unnecessary spacing — intake band · main
   ========================================================================= */
body.contact-page main.ct-main{
  padding-bottom:clamp(var(--bh-space-5),4.5vw,var(--bh-space-7));
}

body.contact-page .ct-intake{
  padding:clamp(calc(var(--bh-unit) * 8),7vw,calc(var(--bh-unit) * 22)) 0;
}

body.contact-page .ct-intake__grid{
  gap:clamp(var(--bh-space-5),4.2vw,calc(var(--bh-unit) * 18));
}

body.contact-page .ct-sidebar__head{
  margin-bottom:clamp(var(--bh-space-4),3.2vw,var(--bh-space-5));
}

body.contact-page .ct-form-panel__frame{
  padding:
    clamp(36px,3.4vw,48px)
    clamp(36px,3.2vw,44px)
    clamp(36px,3.4vw,48px)
    clamp(36px,3.2vw,44px);
}

body.contact-page .ct-form-panel__head{
  margin-bottom:clamp(var(--bh-space-4),3.2vw,var(--bh-space-5));
}

body.contact-page .ct-form-panel__note{
  margin-top:clamp(var(--bh-space-2),1.8vw,var(--bh-space-3));
}

/* =========================================================================
   Contact form — border visibility · consistent spacing · shorter textarea
   ========================================================================= */
body.contact-page .ct-form{
  margin-top:var(--bh-space-1);
}

body.contact-page .ct-field{
  margin-bottom:var(--ct-prod-field-gap);
}

body.contact-page .ct-field:last-of-type{
  margin-bottom:clamp(var(--bh-space-3),2.6vw,var(--bh-space-4));
}

body.contact-page .ct-field__label{
  margin-bottom:calc(var(--bh-space-2) - 1px);
}

body.contact-page .ct-field__input{
  border:var(--bh-hairline) solid var(--ct-prod-input-border);
  border-radius:0;
  box-shadow:none;
}

body.contact-page .ct-field__input:hover{
  border-color:var(--ct-prod-input-border-hover);
}

body.contact-page .ct-field__input:focus{
  border-color:rgba(34,162,159,0.78);
  box-shadow:0 0 0 1px rgba(34,162,159,0.24);
}

body.contact-page .ct-field__input--area{
  min-height:clamp(112px,17.4vh,167px);
  padding-top:var(--bh-space-3);
  padding-bottom:var(--bh-space-3);
}

body.contact-page .ct-form__actions{
  margin-top:clamp(var(--bh-space-3),2.6vw,var(--bh-space-4));
  padding-top:clamp(var(--bh-space-2),2vw,var(--bh-space-3));
}

/* =========================================================================
   Submit — ~15% narrower · sharpened edges
   ========================================================================= */
body.contact-page .ct-form-submit{
  width:61%;
  max-width:15.9rem;
  min-height:calc(var(--bh-cta-min) * 0.88);
  padding:calc(var(--bh-cta-py) * 0.85) calc(var(--bh-cta-px) * 0.72);
  border-radius:0;
  border:var(--bh-hairline) solid var(--bh-ink);
  box-shadow:none;
}

body.contact-page .ct-form-submit:hover{
  box-shadow:none;
}

/* =========================================================================
   Disclaimer — higher contrast · tighter dead space
   ========================================================================= */
body.contact-page .ct-legal{
  margin:clamp(var(--bh-space-2),2vw,var(--bh-space-3)) 0 0;
  padding-top:clamp(var(--bh-space-2),1.8vw,var(--bh-space-3));
  border-top-color:rgba(17,17,17,0.22);
  color:var(--ct-prod-legal);
  line-height:1.52;
}

/* =========================================================================
   Footer — improved visibility · column spacing
   ========================================================================= */
body.contact-page .bh-footer{
  margin-top:clamp(var(--bh-space-4),3.5vw,var(--bh-space-5));
  border-top-color:rgba(255,255,255,0.22);
}

body.contact-page .bh-footer__grid{
  gap:clamp(var(--bh-space-5),4.8vw,var(--bh-space-8));
}

body.contact-page .bh-footer__tagline,
body.contact-page .bh-footer__systems{
  color:rgba(255,255,255,0.94);
}

body.contact-page .bh-footer__links a{
  color:#fff;
}

body.contact-page .bh-footer__quote{
  color:#fff;
}

body.contact-page .bh-footer .bh-footer__nav{
  padding-left:clamp(var(--bh-space-5),4vw,var(--bh-space-7));
  padding-right:clamp(var(--bh-space-5),4vw,var(--bh-space-7));
  border-left-color:rgba(255,255,255,0.24);
  border-right-color:rgba(255,255,255,0.24);
}

body.contact-page .bh-footer__intel{
  padding-left:clamp(var(--bh-space-5),4vw,var(--bh-space-7));
  border-left-color:rgba(34,162,159,0.72);
}

body.contact-page .bh-footer__copy{
  color:rgba(255,255,255,0.76);
}

body.contact-page .bh-footer__base{
  border-top-color:rgba(255,255,255,0.2);
}

body.contact-page .bh-footer__rule::before{
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,0.22) 10%,
    rgba(255,255,255,0.38) 50%,
    rgba(255,255,255,0.22) 90%,
    transparent
  );
}

/* =========================================================================
   Responsive
   ========================================================================= */
@media (max-width:640px){
  body.contact-page .ct-form-submit{
    width:58%;
    max-width:14rem;
  }
}

@media (max-width:480px){
  body.contact-page .ct-form-submit{
    width:100%;
    max-width:none;
  }
}
