/**
 * Contact page refinement — institutional precision · form clarity
 * Scoped: body.contact-page · load after contact.css
 */

body.contact-page{
  --ct-line:rgba(17,17,17,0.14);
  --ct-line-strong:rgba(17,17,17,0.24);
  --ct-text-body:var(--bh-ink-2);
  --ct-text-kicker:rgba(17,17,17,0.62);
  --ct-body-size:var(--bh-type-prose);
}

/* -------------------------------------------------------------------------
   Hero — ~20% shorter · faster handoff to intake
   ------------------------------------------------------------------------- */
body.contact-page .ct-hero__shell{
  padding:var(--bh-hero-y-top) var(--space-section-x) var(--bh-hero-y-bottom);
  padding-left:calc(var(--space-section-x) + var(--bh-space-7));
}

body.contact-page .ct-hero__rail{
  top:clamp(44px,9vh,96px);
  bottom:clamp(32px,6.5vh,70px);
}

body.contact-page .ct-hero__kicker{
  margin-bottom:var(--bh-space-4);
  color:var(--ct-text-kicker);
}

body.contact-page .ct-hero__title{
  margin-bottom:clamp(var(--bh-space-5),4vw,var(--bh-space-7));
}

body.contact-page .ct-hero__lead{
  font-size:var(--ct-body-size);
  line-height:1.62;
  color:var(--ct-text-body);
}

body.contact-page .ct-hero__lead--secondary{
  margin-top:clamp(var(--bh-space-3),2.4vw,var(--bh-space-4));
  color:var(--bh-ink-3);
}

body.contact-page .ct-hero__marker{
  margin-top:clamp(var(--bh-space-5),5vw,var(--bh-space-7));
  color:var(--ct-text-kicker);
}

body.contact-page .ct-hero__marker span{
  border-bottom-color:rgba(34,162,159,0.55);
}

/* -------------------------------------------------------------------------
   Intake band — tighter rhythm
   ------------------------------------------------------------------------- */
body.contact-page main.ct-main{
  padding-bottom:var(--bh-main-pad-bottom);
}

body.contact-page .ct-intake{
  padding:var(--bh-section-y-loose) 0;
}

body.contact-page .ct-intake__grid{
  gap:clamp(var(--bh-space-6),5vw,calc(var(--bh-unit)*24));
}

body.contact-page .ct-sidebar__head{
  margin-bottom:clamp(var(--bh-space-5),4vw,var(--bh-space-7));
}

body.contact-page .ct-sidebar__philosophy{
  font-size:var(--ct-body-size);
  line-height:1.62;
  color:var(--ct-text-body);
}

body.contact-page .ct-channel__desc{
  color:var(--bh-ink-3);
}

/* -------------------------------------------------------------------------
   Form panel — structure · field definition
   ------------------------------------------------------------------------- */
body.contact-page .ct-form-panel__frame{
  padding:
    clamp(44px,4.2vw,58px)
    clamp(44px,4vw,54px)
    clamp(44px,4.2vw,58px)
    clamp(44px,4vw,54px);
  border-color:var(--ct-line-strong);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.92);
}

body.contact-page .ct-form-panel__head{
  margin-bottom:clamp(var(--bh-space-6),4.8vw,var(--bh-space-7));
}

body.contact-page .ct-form-panel__eyebrow{
  margin-bottom:var(--bh-space-4);
  color:var(--ct-text-kicker);
}

body.contact-page .ct-form-panel__title{
  margin-bottom:var(--bh-space-4);
}

body.contact-page .ct-form-panel__note{
  margin-top:clamp(var(--bh-space-3),2.4vw,var(--bh-space-4));
  font-size:var(--bh-text-sm);
  line-height:1.58;
  color:var(--bh-ink-3);
}

body.contact-page .ct-field{
  margin-bottom:clamp(var(--bh-space-4),3.2vw,var(--bh-space-5));
}

body.contact-page .ct-field:last-of-type{
  margin-bottom:clamp(var(--bh-space-5),3.6vw,var(--bh-space-6));
}

body.contact-page .ct-field__label{
  margin-bottom:var(--bh-space-3);
  color:var(--ct-text-kicker);
}

body.contact-page .ct-field__opt{
  color:var(--bh-ink-3);
}

body.contact-page .ct-field__input{
  min-height:3.1rem;
  padding:var(--bh-space-4) var(--bh-space-5);
  font-size:var(--ct-body-size);
  border:var(--bh-hairline) solid var(--ct-line-strong);
  border-radius:1px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.65);
}

body.contact-page .ct-field__input::placeholder{
  color:var(--bh-ink-3);
  opacity:1;
}

body.contact-page .ct-field__input:hover{
  border-color:rgba(17,17,17,0.28);
}

body.contact-page .ct-field__input:focus{
  border-color:rgba(34,162,159,0.62);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.65),
    0 0 0 1px rgba(34,162,159,0.24);
}

body.contact-page .ct-field__input--area{
  min-height:clamp(153px,24vh,230px);
  padding-top:var(--bh-space-4);
  padding-bottom:var(--bh-space-4);
  line-height:1.62;
}

body.contact-page .ct-form__actions{
  margin-top:clamp(var(--bh-space-5),4vw,var(--bh-space-6));
  padding-top:clamp(var(--bh-space-4),3.2vw,var(--bh-space-5));
  border-top-color:var(--ct-line);
}

/* -------------------------------------------------------------------------
   Submit — narrower · institutional proportions
   ------------------------------------------------------------------------- */
body.contact-page .ct-form-submit{
  width:85%;
  max-width:22rem;
  min-height:calc(var(--bh-cta-min) * 0.94);
  padding:calc(var(--bh-cta-py) * 0.92) calc(var(--bh-cta-px) * 0.88);
  border-radius:1px;
  border-width:var(--bh-hairline);
  font-size:calc(var(--bh-text-sm) * 0.96);
  letter-spacing:var(--bh-cta-track);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);
}

body.contact-page .ct-form-submit:hover{
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.12);
}

/* -------------------------------------------------------------------------
   Disclaimer — contrast · tight spacing
   ------------------------------------------------------------------------- */
body.contact-page .ct-legal{
  margin:clamp(var(--bh-space-5),4vw,var(--bh-space-6)) 0 0;
  padding-top:clamp(var(--bh-space-4),3.2vw,var(--bh-space-5));
  border-top-color:var(--ct-line);
  font-size:var(--bh-text-sm);
  line-height:1.58;
  color:#3a3a3a;
}

/* -------------------------------------------------------------------------
   Footer — readability · column balance
   ------------------------------------------------------------------------- */
body.contact-page .bh-footer{
  margin-top:var(--bh-footer-mt);
  padding:clamp(var(--bh-space-5),3.5vw,var(--bh-space-6)) var(--space-section-x)
    clamp(var(--bh-space-5),3vw,var(--bh-space-6));
  border-top-color:rgba(255,255,255,0.16);
}

body.contact-page .bh-footer__grid{
  gap:clamp(var(--bh-space-5),3.8vw,var(--bh-space-7));
  align-items:start;
}

body.contact-page .bh-footer .bh-footer__nav{
  padding-left:clamp(var(--bh-space-5),3.8vw,var(--bh-space-7));
  padding-right:clamp(var(--bh-space-5),3.8vw,var(--bh-space-7));
  border-left-color:rgba(255,255,255,0.18);
  border-right-color:rgba(255,255,255,0.18);
}

body.contact-page .bh-footer__intel{
  padding-left:clamp(var(--bh-space-5),3.8vw,var(--bh-space-7));
  border-left-color:rgba(34,162,159,0.58);
}

body.contact-page .bh-footer__tagline,
body.contact-page .bh-footer__systems{
  color:rgba(255,255,255,0.86);
}

body.contact-page .bh-footer__links a{
  color:rgba(255,255,255,0.92);
}

body.contact-page .bh-footer__links a:hover,
body.contact-page .bh-footer__links a:focus-visible{
  color:#fff;
}

body.contact-page .bh-footer__quote{
  color:rgba(255,255,255,0.92);
  line-height:1.58;
}

body.contact-page .bh-footer__rule{
  margin-top:clamp(var(--bh-space-4),2.8vw,var(--bh-space-5));
}

body.contact-page .bh-footer__rule::before{
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,0.16) 10%,
    rgba(255,255,255,0.3) 50%,
    rgba(255,255,255,0.16) 90%,
    transparent
  );
}

body.contact-page .bh-footer__rule::after{
  background:linear-gradient(
    90deg,
    transparent,
    rgba(34,162,159,0.48) 42%,
    rgba(34,162,159,0.48) 58%,
    transparent
  );
}

body.contact-page .bh-footer__base{
  border-top-color:rgba(255,255,255,0.14);
}

body.contact-page .bh-footer__copy{
  color:rgba(255,255,255,0.58);
}

body.contact-page .bh-footer .bh-footer__quote{
  transform:none;
  transition:opacity 1400ms ease;
}

/* -------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------- */
@media (max-width:640px){
  body.contact-page .ct-form-submit{
    width:100%;
    max-width:none;
  }
}

@media (max-width:900px){
  body.contact-page .ct-hero__shell{
    padding-left:var(--space-section-x);
  }
}
