/* ═════════ CONTACT ═════════ */
.ct{background:var(--ivory);color:var(--black-night);padding-block:clamp(104px,12vw,160px)}
.ct__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(28px,5vw,80px);align-items:start}

/* media */
.ct__media{position:relative;border-radius:var(--radius-xl);overflow:hidden;align-self:stretch}
.ct__media img{display:block;width:100%;height:100%;min-height:clamp(420px,56vw,720px);object-fit:cover}
.ct__media__card{position:absolute;left:16px;right:16px;bottom:16px;display:grid;gap:8px;padding:22px 24px;border-radius:var(--radius-lg);color:var(--ivory)}
.ct__media__card .eyebrow{color:var(--gold);margin-bottom:4px}
.ct__media__addr{font-size:16px;line-height:1.45;margin:0}
.ct__media__hrs{font-size:13.5px;line-height:1.5;color:rgba(244,242,238,.78);margin:0}
.ct__media__link{display:inline-flex;align-items:center;gap:8px;margin-top:4px;font-family:var(--font-label);font-weight:500;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ivory)}
.ct__media__link svg{width:12px;height:12px}
.ct__media__link:hover{color:var(--gold)}

/* panel */
.ct__head{margin-bottom:clamp(28px,3.4vw,42px)}
.ct__head .eyebrow{margin-bottom:18px}
.ct__title{margin:0 0 20px}
.ct__lede{max-width:52ch;font-size:clamp(16px,1.2vw,18px);line-height:1.6;color:var(--brown-oak)}

/* form */
.ct__form{display:grid;gap:18px}
.ct__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:9px}
.field__label{font-family:var(--font-label);font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brown-oak)}
.field__label em{font-style:normal;color:var(--beach-gray);letter-spacing:.12em}
.field input,.field select,.field textarea{width:100%;font-family:var(--font-head);font-size:16px;color:var(--black-night);background:#fff;border:1px solid rgba(21,19,17,.16);border-radius:var(--radius-md);padding:15px 16px;transition:border-color .25s,box-shadow .25s;-webkit-appearance:none;appearance:none}
.field textarea{resize:vertical;min-height:120px;line-height:1.5}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23554B41' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;cursor:pointer}
.field input::placeholder,.field textarea::placeholder{color:var(--beach-gray)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--black-night);box-shadow:0 0 0 3px rgba(21,19,17,.08)}
.field.is-invalid input,.field.is-invalid textarea{border-color:#b0583f;box-shadow:0 0 0 3px rgba(176,88,63,.1)}
.ct__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.ct__status{min-height:1em;margin:4px 0 0;font-size:14.5px;line-height:1.5}
.ct__status.is-ok{color:var(--clay)}
.ct__status.is-err{color:#b0583f}

/* ═════════ RESPONSIVE ═════════ */
@media (max-width:980px){
  .ct__grid{grid-template-columns:1fr;gap:36px}
  .ct__media{order:2}
  .ct__media img{min-height:min(520px,70svh)}
  .ct__panel{order:1}
}
@media (max-width:620px){
  .ct__row{grid-template-columns:1fr}
  .ct__actions .btn{width:100%;justify-content:center}
}
