/* Davis Southern 3.4: contact page and existing Contact Form 7 HTML.
   All images and copy remain controlled by ACF. No changes to CF7 markup needed.
   This stylesheet loads after the 3.3 reference form styles so its responsive
   corrections cannot be overridden by the legacy source CSS. */

/* HERO — a real one-column layout at tablet/mobile widths instead of the
   exported fixed 1.05fr / 1fr inline grid. */
.ds-v2-main #top.ds-contact-hero{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  padding:88px 0 0;min-height:760px;height:auto;
  background:#F4F3F1;border-bottom:2px solid #0F1A2E;
}
.ds-contact-hero__copy{
  display:flex;flex-direction:column;justify-content:flex-end;min-width:0;
  padding:clamp(70px,7vw,96px) clamp(24px,4.45vw,64px) 88px clamp(22px,3vw,40px);
  border-right:2px solid #0F1A2E;
}
.ds-contact-hero__eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:32px;color:#B98D2E;font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase}
.ds-contact-hero__rule{display:block;flex:0 0 56px;height:2px;background:#B98D2E}
.ds-v2-main #top.ds-contact-hero .ds-contact-hero__title{
  margin:0;max-width:10em;min-width:0;font:400 clamp(52px,6vw,104px)/.98 'Bodoni Moda',Georgia,serif;
  letter-spacing:-.02em;text-wrap:balance;overflow-wrap:normal;word-break:normal;
}
.ds-contact-hero__description{display:grid;gap:18px;margin-top:36px;max-width:34em;min-width:0}
.ds-contact-hero__description p{margin:0;font-size:18px;line-height:1.7;font-weight:300;color:#2A3345}
.ds-contact-hero__actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:2px;margin-top:44px}
.ds-contact-hero__button{
  display:inline-flex;align-items:center;justify-content:space-between;gap:14px;
  min-height:59px;min-width:0;padding:18px 23px;
  font:600 12px/1.4 'Archivo',Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;
  transition:background .18s,border-color .18s,color .18s;
}
.ds-contact-hero__button svg{width:17px;height:17px;flex:0 0 17px}
.ds-contact-hero__button--primary{background:#0F1A2E;color:#fff;flex:0 1 275px}
.ds-contact-hero__button--primary:hover{background:#B98D2E;color:#fff}
.ds-contact-hero__button--secondary{border:2px solid #0F1A2E;color:#0F1A2E;flex:0 1 190px}
.ds-contact-hero__button--secondary:hover{border-color:#B98D2E;color:#B98D2E}
.ds-contact-hero__media{position:relative;min-width:0;min-height:520px;overflow:hidden;background:#eeeae3}
.ds-contact-hero__media .ds-visual-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}

/* CONTACT FORM SECTION — full-resolution original image instead of using a
   potentially undersized responsive rendition for an unusually tall crop. */
.ds-v2-main #contact.ds-contact-form-section{background:#fff;border-bottom:2px solid #0F1A2E}
.ds-contact-form-section__layout{
  display:grid;grid-template-columns:280px minmax(0,1fr);
  gap:clamp(34px,4.16vw,60px);padding:112px clamp(22px,2.78vw,40px) 120px;
  max-width:1700px;margin-inline:auto;min-width:0;
}
.ds-contact-form-section__aside{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:28px}
.ds-contact-form-section__eyebrow{font:600 11px/1.6 'Archivo',Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#B98D2E}
.ds-contact-form-section__image{
  position:relative;align-self:stretch;flex:0 0 auto;
  width:100%;height:clamp(590px,63vw,900px);overflow:hidden;border:2px solid #0F1A2E;
}
.ds-contact-form-section__image .ds-contact-form-section__photo{
  position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;
  object-fit:cover;object-position:56% 38%;image-rendering:auto;
  filter:none!important;transform:none!important;
}
.ds-contact-form-section__body{min-width:0;max-width:100%}
.ds-v2-main #contact.ds-contact-form-section .ds-contact-form-section__body h2{
  margin:0;font:400 clamp(34px,3.2vw,54px)/1.12 'Bodoni Moda',Georgia,serif;letter-spacing:-.01em;
}
.ds-contact-form-section__intro{margin:24px 0 0;max-width:38em;font-size:17px;line-height:1.75;font-weight:300;color:#2A3345}
.ds-contact-form-section__body .ds-cf7{width:100%;max-width:100%;min-width:0;margin-top:46px}
.ds-contact-form-section__body .ds-cf7 .wpcf7,
.ds-contact-form-section__body .ds-cf7 .wpcf7-form{max-width:none}

/* FORMS — use form width, not viewport width: a contact sidebar can make a
   1000px-wide window contain only a 550px-wide form. Preserve radio labels,
   touch targets, keyboard outlines and non-overflowing input fields. */
.ds-cf7 .ds-form-grid{container-type:inline-size;min-width:0}
.ds-cf7 .ds-form-grid .ds-form-cell,
.ds-cf7 .ds-form-grid .ds-form-interest{min-width:0}
.ds-cf7 .ds-form-grid .ds-form-cell :is(input[type="text"],input[type="email"],input[type="tel"],textarea){
  max-width:100%;font-size:16px!important;line-height:1.5!important;
}
.ds-cf7 .ds-form-grid .ds-interest-options.wpcf7-radio{min-width:0}
.ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item-label{
  white-space:normal;overflow-wrap:break-word;hyphens:none;font-size:11px!important;
  padding:clamp(9px,1.2vw,16px)!important;min-height:58px;
}
.ds-cf7 .ds-form-grid .ds-form-cell textarea{min-height:155px!important}
.ds-cf7 .ds-form-grid .ds-form-submit{gap:16px 22px}
.ds-cf7 .ds-form-grid .ds-form-submit small{white-space:normal}

/* Other contact sections: prevent 3 narrow info cards and cropped oversized
   photography on tablets; preserve the existing desktop editorial geometry. */
@media(max-width:1199px){
  .ds-contact-form-section__layout{grid-template-columns:clamp(180px,23vw,250px) minmax(0,1fr);gap:32px;padding-top:82px;padding-bottom:90px}
}
@media(max-width:1024px){
  .ds-v2-main #top.ds-contact-hero{
    display:flex!important;flex-direction:column!important;
    grid-template-columns:none!important;min-height:0!important;height:auto!important;
  }
  .ds-contact-hero__copy{
    width:100%;max-width:100%;border-right:0;border-bottom:2px solid #0F1A2E;
    padding:clamp(60px,9vw,92px) clamp(24px,5vw,48px) clamp(55px,7vw,78px);
  }
  .ds-v2-main #top.ds-contact-hero .ds-contact-hero__title{font-size:clamp(54px,8.5vw,92px)!important;line-height:1.02!important;max-width:13em}
  .ds-contact-hero__description{max-width:650px}
  .ds-contact-hero__media{width:100%;height:clamp(320px,53vw,530px);min-height:0!important;flex:0 0 auto}
  .ds-contact-hero__media .ds-visual-image{object-position:center 50%}
  .ds-contact-form-section__layout{grid-template-columns:200px minmax(0,1fr)}
  .ds-v2-main .ds-contact-direct .ds-contact-direct__cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ds-v2-main .ds-contact-direct .ds-contact-direct__cards>div:nth-child(2){border-right:0!important}
  .ds-v2-main .ds-contact-direct .ds-contact-direct__cards>div:last-child{grid-column:1/-1;border-top:2px solid #0F1A2E}
  .ds-v2-main .ds-contact-cta .ds-contact-cta__grid{grid-template-columns:minmax(0,1fr) minmax(210px,.6fr)!important;gap:36px!important}
}
@media(max-width:960px){
  /* The same hero photo is already visible above. Avoid repeating its narrow,
     heavily cropped portrait version before the mobile form. */
  .ds-v2-main #contact.ds-contact-form-section>.ds-contact-form-section__layout{
    display:flex!important;flex-direction:column!important;gap:22px!important;
    padding:70px clamp(22px,5vw,44px) 78px!important;
  }
  .ds-contact-form-section__aside{display:block}
  .ds-contact-form-section__aside .ds-contact-form-section__image{display:none!important}
  .ds-contact-form-section__body{width:100%}
  .ds-contact-form-section__body .ds-cf7{margin-top:36px}
  .ds-v2-main .ds-contact-cta .ds-contact-cta__grid{grid-template-columns:minmax(0,1fr)!important;gap:36px!important}
  .ds-contact-cta__grid>[data-img]{height:300px!important;max-width:520px}
}
@media(max-width:740px){
  .ds-v2-main #top.ds-contact-hero{padding-top:88px!important}
  .ds-contact-hero__copy{padding:53px 22px 55px}
  .ds-v2-main #top.ds-contact-hero .ds-contact-hero__title{
    font-size:clamp(47px,9.4vw,68px)!important;line-height:1.02!important;
    max-width:100%;text-wrap:balance;
  }
  .ds-contact-hero__eyebrow{margin-bottom:23px;font-size:11px;gap:13px}
  .ds-contact-hero__rule{flex-basis:40px}
  .ds-contact-hero__description{margin-top:25px;gap:14px}
  .ds-contact-hero__description p{font-size:16px;line-height:1.65}
  .ds-contact-hero__actions{margin-top:30px}
  .ds-contact-hero__media{height:clamp(240px,63vw,370px)}
  .ds-v2-main #contact.ds-contact-form-section>.ds-contact-form-section__layout{padding:56px 20px 68px!important}
  .ds-v2-main #contact .ds-contact-form-section__body h2{font-size:clamp(34px,8vw,46px)!important}
  .ds-contact-form-section__intro{font-size:16px;margin-top:16px}
  .ds-v2-main .ds-contact-leasing>div:first-child,
  .ds-v2-main .ds-contact-direct>div:first-child{
    padding:63px 22px 38px!important;display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;gap:18px!important;
  }
  .ds-v2-main .ds-contact-leasing .ds-contact-leasing__cards,
  .ds-v2-main .ds-contact-direct .ds-contact-direct__cards{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  }
  .ds-v2-main .ds-contact-leasing .ds-contact-leasing__cards>a{border-right:0!important;border-bottom:2px solid #0F1A2E}
  .ds-v2-main .ds-contact-leasing .ds-contact-leasing__cards>a:last-child{border-bottom:0}
  .ds-contact-leasing__cards>a>[data-img]{height:clamp(240px,65vw,350px)!important}
  .ds-contact-leasing__cards>a>div:last-child{padding:26px 22px 34px!important}
  .ds-contact-leasing__cards h3{font-size:clamp(31px,8vw,40px)!important}
  .ds-v2-main .ds-contact-direct .ds-contact-direct__cards>div{
    grid-column:auto!important;border-right:0!important;border-top:0!important;
    border-bottom:2px solid #0F1A2E!important;padding:30px 22px!important;
  }
  .ds-v2-main .ds-contact-direct .ds-contact-direct__cards>div:last-child{border-bottom:0!important}
  .ds-v2-main .ds-contact-direct .ds-contact-direct__cards>div>div:nth-child(2){
    font-size:clamp(24px,7vw,34px)!important;overflow-wrap:anywhere;
  }
  .ds-v2-main .ds-contact-cta{padding:72px 22px 68px!important}
  .ds-contact-cta>div:first-child,.ds-contact-cta>div:nth-child(2){display:none}
  .ds-v2-main .ds-contact-cta .ds-contact-cta__grid{gap:28px!important}
  .ds-v2-main .ds-contact-cta .ds-contact-cta__grid h2{font-size:clamp(43px,10vw,68px)!important}
  .ds-contact-cta__grid>[data-img]{width:100%;max-width:none;height:clamp(220px,53vw,340px)!important}
}
@media(max-width:520px){
  .ds-contact-hero__copy{padding-inline:20px}
  .ds-contact-hero__actions{flex-direction:column;align-items:stretch;gap:10px}
  .ds-contact-hero__button,
  .ds-contact-hero__button--primary,
  .ds-contact-hero__button--secondary{flex:0 0 auto!important;width:100%;min-height:56px;padding:16px 19px}
  .ds-v2-main #contact.ds-contact-form-section>.ds-contact-form-section__layout{padding-inline:16px!important}
  .ds-contact-form-section__body .ds-cf7{margin-top:28px}
  .ds-cf7 .ds-form-grid .ds-form-cell{padding:21px 18px!important}
  .ds-cf7 .ds-form-grid .ds-form-interest{padding:22px 18px!important}
  .ds-cf7 .ds-form-grid .ds-form-submit{padding:18px!important}
  .ds-cf7 .ds-form-grid .ds-form-submit input.wpcf7-submit{min-height:49px!important}
}
/* A narrow form may occur inside a sidebar on wide desktop screens. */
@container(max-width:650px){
  .ds-cf7 .ds-form-grid .ds-interest-options.wpcf7-radio{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item:nth-child(2){border-right:0!important}
  .ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item:nth-child(-n+2){border-bottom:2px solid #0F1A2E!important}
}
@container(max-width:450px){
  .ds-cf7 .ds-form-grid .ds-form-row{grid-template-columns:minmax(0,1fr)!important}
  .ds-cf7 .ds-form-grid .ds-form-row .ds-form-cell{border-right:0!important}
  .ds-cf7 .ds-form-grid .ds-form-row .ds-form-cell:not(:last-child){border-bottom:2px solid #0F1A2E!important}
  .ds-cf7 .ds-form-grid .ds-form-submit{flex-direction:column;align-items:stretch!important}
  .ds-cf7 .ds-form-grid .ds-form-submit input.wpcf7-submit{width:100%!important;min-width:0!important;margin:0!important}
  .ds-cf7 .ds-form-grid .ds-form-submit > p{width:100%}
}
@container(max-width:320px){
  .ds-cf7 .ds-form-grid .ds-interest-options.wpcf7-radio{grid-template-columns:1fr!important}
  .ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item{border-right:0!important;border-bottom:2px solid #0F1A2E!important}
  .ds-cf7 .ds-form-grid .ds-interest-options .wpcf7-list-item:last-child{border-bottom:0!important}
}
@media(prefers-reduced-motion:reduce){
  .ds-contact-hero__button{transition:none}
}

/* Allow the verified leasing email to wrap inside the existing cards. */
.ds-v2-main .ds-contact-direct__cards>div>div:nth-child(2),
.ds-v2-main #leasing p{overflow-wrap:anywhere;}
/* Keep the existing contact content and inquiry controls within narrow screens. */
@media(max-width:767px){
  .ds-v2-main #leasing>div[style*="display:grid"]{grid-template-columns:minmax(0,1fr)!important;gap:36px!important}
  .ds-v2-main #leasing>div[style*="display:grid"]>div{min-width:0}
  .ds-contact-form-section .ds-cf7 .ds-form-grid .ds-form-submit>p{display:grid!important;grid-template-columns:minmax(0,1fr) 24px;gap:12px;min-width:0;width:100%}
  .ds-contact-form-section .ds-cf7 .ds-form-grid .ds-form-submit>p>small{grid-column:1/-1}
  .ds-contact-form-section .ds-cf7 .ds-form-grid .ds-form-submit input.wpcf7-submit{grid-column:1;grid-row:2;min-width:0!important;max-width:100%;width:100%!important}
  .ds-contact-form-section .ds-cf7 .ds-form-grid .ds-form-submit .wpcf7-spinner{grid-column:2;grid-row:2;margin:0!important}
}
/* Retain the existing nearby cards while allowing their content to fit on phones. */
@media(max-width:900px){.ds-v2-main #nearby>div:last-child{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:600px){
 .ds-v2-main #nearby .ds-v-hover-4{grid-template-columns:minmax(0,1fr)!important}
 .ds-v2-main #nearby .ds-v-hover-4>[data-img]{min-height:240px!important}
 .ds-v2-main #nearby .ds-v-hover-4>div:last-child{padding:28px 24px 32px!important;min-width:0}
}
