/* CONTACT PAGE · V3-24 */
.contact-page{background:#fff}
.contact-hero{padding:calc(var(--header) + 68px) 0 62px;background:#fff;border-bottom:1px solid #eee7e0}
.contact-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:end}
.contact-hero__copy h1{margin:8px 0 0;font-size:clamp(54px,5vw,88px);line-height:1;letter-spacing:-.055em;font-weight:400;color:#111;word-break:keep-all}
.contact-hero__lead{display:flex;justify-content:flex-end}
.contact-hero__lead p{margin:0;max-width:620px;font-size:18px;line-height:1.8;color:#605b56}

.contact-consultation{padding:70px 0 120px;background:#fff}
.contact-project-form{max-width:1120px;margin:0 auto;border:1px solid #e2d7cc;background:#fff;padding:54px 58px 42px}
.contact-project-form__head{display:grid;grid-template-columns:1.04fr .96fr;gap:54px;align-items:end;padding-bottom:38px;border-bottom:1px solid #d9cec3}
.contact-project-form__head .eyebrow{margin:0 0 22px}
.contact-project-form__head h2{margin:0;font-size:clamp(44px,4.1vw,72px);line-height:1.15;letter-spacing:-.055em;font-weight:400;color:#111;word-break:keep-all}
.contact-project-form__lead{margin:0 0 6px;max-width:450px;font-size:17px;line-height:1.8;color:#6a625d}

.contact-project-fields{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;row-gap:0;padding-top:22px}
.project-field{display:flex;flex-direction:column;padding:18px 0 16px}
.project-field--full{grid-column:1/-1}
.project-field label{margin-bottom:16px;font-size:12px;letter-spacing:.01em;color:#403a36;font-weight:500}
.project-field input,.project-field select,.project-field textarea{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid #cfc2b7;background:transparent;border-radius:0;padding:0 0 14px;color:#222;font:inherit;outline:none;transition:border-color .2s ease}
.project-field input,.project-field select{height:46px;font-size:18px}
.project-field textarea{min-height:190px;padding-top:8px;font-size:17px;line-height:1.75;resize:vertical}
.project-field input::placeholder,.project-field textarea::placeholder{color:#b0a9a3}
.project-field select{appearance:auto;color:#222}
.project-field input:focus,.project-field select:focus,.project-field textarea:focus{border-bottom-color:#CE1735}
.project-field--message{padding-top:20px}
.project-field--blank{display:block}

.contact-consent{margin-top:18px;border-top:1px solid #d9cec3;border-bottom:1px solid #d9cec3}
.contact-consent__check{display:flex;align-items:center;gap:12px;padding:22px 0 12px;font-size:14px;color:#5e5853;cursor:pointer}
.contact-consent__check input{appearance:none;width:24px;height:24px;border:2px solid #858585;border-radius:7px;background:#fff;display:grid;place-content:center;margin:0;flex:0 0 auto}
.contact-consent__check input::before{content:'';width:10px;height:10px;transform:scale(0);transition:transform .12s ease;box-shadow:inset 1em 1em #CE1735;border-radius:2px}
.contact-consent__check input:checked::before{transform:scale(1)}
.contact-consent__check b{color:#CE1735;font-weight:700}
.contact-consent__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 0 22px;border:0;background:transparent;color:#6d655f;font-size:13px;cursor:pointer;text-align:left}
.contact-consent__toggle i{font-style:normal;font-size:24px;color:#CE1735;line-height:1;transition:transform .25s ease}
.contact-consent__toggle[aria-expanded="true"] i{transform:rotate(45deg)}
.contact-consent__detail{height:0;overflow:hidden;opacity:0;transition:height .4s ease,opacity .25s ease;color:#6b645e}
.contact-consent__detail.is-open{opacity:1}
.contact-consent__detail p{margin:0 0 10px;font-size:12px;line-height:1.7}
.contact-consent__detail p:last-child{margin-bottom:20px}

.contact-project-submit{margin-top:36px;width:100%;height:92px;padding:0 30px;border:1px solid #CE1735;background:#fff;color:#CE1735;display:flex;align-items:center;justify-content:space-between;font-size:20px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:background .2s ease,color .2s ease}
.contact-project-submit i{font-style:normal;font-size:28px;font-weight:300}
.contact-project-submit:hover{background:#FAF2F3;color:#951C35}

@media(max-width:900px){
  .contact-hero__grid,.contact-project-form__head{grid-template-columns:1fr;gap:24px}
  .contact-hero__lead{justify-content:flex-start}
  .contact-project-form{padding:40px 34px 34px}
  .contact-project-fields{grid-template-columns:1fr}
  .project-field--full{grid-column:auto}
  .project-field--blank{display:none}
}
@media(max-width:680px){
  .contact-hero{padding:calc(var(--header) + 44px) 0 46px}
  .contact-hero__copy h1{font-size:44px}
  .contact-hero__lead p{font-size:15px}
  .contact-consultation{padding:44px 0 80px}
  .contact-project-form{padding:30px 20px 26px}
  .contact-project-form__head{padding-bottom:28px}
  .contact-project-form__head h2{font-size:38px}
  .contact-project-form__lead{font-size:15px}
  .project-field{padding:14px 0 12px}
  .project-field input,.project-field select{font-size:16px}
  .project-field textarea{min-height:150px;font-size:16px}
  .contact-project-submit{height:76px;font-size:18px}
}


/* V3-25 requested refinements */
.contact-hero__lead p{margin:0}
.contact-hero__lead p span{display:block}
.contact-hero__lead p span+span{margin-top:8px}
.contact-project-submit{
  width:280px;
  height:68px;
  margin:38px auto 0;
  padding:0 24px;
  border:1px solid #B67A83;
  border-radius:2px;
  background:#fff;
  color:#CE1735;
  justify-content:center;
  gap:18px;
  font-size:18px;
  font-weight:500;
  letter-spacing:.01em;
  box-shadow:none;
}
.contact-project-submit i{font-size:21px}
.contact-project-submit:hover{background:#FAF2F3;border-color:#CE1735;color:#951C35}
@media(max-width:680px){
  .contact-hero__lead p span+span{margin-top:6px}
  .contact-project-submit{width:min(100%,260px);height:64px;margin-top:32px;font-size:17px}
}


/* FINAL checkbox fix: custom visual box, Safari/Chrome stable */
.contact-consent__check{position:relative;display:flex;align-items:center;gap:12px}
.contact-consent__input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.contact-consent__box{
  position:relative;
  display:inline-block;
  width:22px;
  height:22px;
  flex:0 0 22px;
  box-sizing:border-box;
  border:1.5px solid #8f8985;
  border-radius:4px;
  background:#fff;
  box-shadow:none;
  transition:border-color .18s ease,background-color .18s ease;
}
.contact-consent__box::after{
  content:"";
  position:absolute;
  left:6px;
  top:2px;
  width:6px;
  height:11px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg) scale(.7);
  opacity:0;
  transition:opacity .14s ease,transform .14s ease;
}
.contact-consent__input:checked + .contact-consent__box{
  border-color:#CE1735;
  background:#CE1735;
}
.contact-consent__input:checked + .contact-consent__box::after{
  opacity:1;
  transform:rotate(45deg) scale(1);
}
.contact-consent__input:focus-visible + .contact-consent__box{
  outline:2px solid rgba(206,23,53,.2);
  outline-offset:3px;
  border-color:#CE1735;
}
.contact-consent__text{display:inline-block;line-height:1.5}
@media(max-width:680px){
  .contact-consent__box{width:21px;height:21px;flex-basis:21px}
  .contact-consent__box::after{left:5.5px;top:2px}
}
