/**
 * Contact page — Phase 11 final refinement
 * Field definition · form rhythm · submit · disclaimer
 * Scoped: body.contact-page · load last on contact.html
 */

body.contact-page{
  --ct-p11-input-border:rgba(17,17,17,0.32);
  --ct-p11-input-border-hover:rgba(17,17,17,0.4);
  --ct-p11-legal:#2b2b2b;
}

/* -------------------------------------------------------------------------
   Form composition — tighter vertical rhythm
   ------------------------------------------------------------------------- */
body.contact-page .ct-form-panel__head{
  margin-bottom:clamp(var(--bh-space-5),4.2vw,var(--bh-space-7));
}

body.contact-page .ct-form-panel__note{
  margin-top:clamp(var(--bh-space-3),2.4vw,var(--bh-space-4));
}

body.contact-page .ct-form{
  margin-top:var(--bh-space-2);
}

body.contact-page .ct-field{
  margin-bottom:clamp(var(--bh-space-3),2.6vw,var(--bh-space-4));
}

body.contact-page .ct-field:last-of-type{
  margin-bottom:clamp(var(--bh-space-4),3.2vw,var(--bh-space-5));
}

body.contact-page .ct-field__label{
  margin-bottom:var(--bh-space-2);
}

/* -------------------------------------------------------------------------
   Inputs — clearer borders · institutional · not heavy
   ------------------------------------------------------------------------- */
body.contact-page .ct-field__input{
  min-height:2.95rem;
  padding:var(--bh-space-3) var(--bh-space-4);
  border:var(--bh-hairline) solid var(--ct-p11-input-border);
  border-radius:1px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.72);
}

body.contact-page .ct-field__input:hover{
  border-color:var(--ct-p11-input-border-hover);
}

body.contact-page .ct-field__input:focus{
  border-color:rgba(34,162,159,0.72);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.72),
    0 0 0 1px rgba(34,162,159,0.28);
}

/* -------------------------------------------------------------------------
   Message field — ~15% shorter · proportional balance
   ------------------------------------------------------------------------- */
body.contact-page .ct-field__input--area{
  min-height:clamp(130px,20.4vh,196px);
  padding-top:var(--bh-space-3);
  padding-bottom:var(--bh-space-3);
  line-height:1.58;
}

/* -------------------------------------------------------------------------
   Submit — ~15% narrower · sharpened edges
   ------------------------------------------------------------------------- */
body.contact-page .ct-form__actions{
  margin-top:clamp(var(--bh-space-4),3.2vw,var(--bh-space-5));
  padding-top:clamp(var(--bh-space-3),2.6vw,var(--bh-space-4));
  border-top-color:rgba(17,17,17,0.16);
}

body.contact-page .ct-form-submit{
  width:72%;
  max-width:18.75rem;
  min-height:calc(var(--bh-cta-min) * 0.92);
  padding:calc(var(--bh-cta-py) * 0.9) calc(var(--bh-cta-px) * 0.82);
  border-radius:0;
  border:var(--bh-hairline) solid var(--bh-ink);
  font-size:var(--bh-text-sm);
  font-weight:var(--bh-cta-font-weight);
  letter-spacing:var(--bh-cta-track);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);
}

body.contact-page .ct-form-submit:hover{
  border-color:var(--bh-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.14);
}

/* -------------------------------------------------------------------------
   Disclaimer — contrast · reduced dead space
   ------------------------------------------------------------------------- */
body.contact-page .ct-legal{
  margin:clamp(var(--bh-space-3),2.8vw,var(--bh-space-4)) 0 0;
  padding-top:clamp(var(--bh-space-3),2.4vw,var(--bh-space-4));
  border-top-color:rgba(17,17,17,0.18);
  font-size:var(--bh-text-sm);
  line-height:1.54;
  color:var(--ct-p11-legal);
  letter-spacing:0.01em;
}

/* -------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------- */
@media (max-width:640px){
  body.contact-page .ct-form-submit{
    width:68%;
    max-width:16.5rem;
  }
}

@media (max-width:480px){
  body.contact-page .ct-form-submit{
    width:100%;
    max-width:none;
  }
}
