/* Contact page: walnut, sage and white, without a remote map request on load. */
.aube-contact-page { overflow: clip; background: #fff; }
.aube-contact-hero { background: #45382f; color: #f8f7f3; }
.aube-contact-hero > .aube-wrap { padding-block: 28px clamp(62px, 7vw, 110px); }
.aube-contact-hero .aube-breadcrumb { color: #e3dcd3; }
.aube-contact-hero .aube-breadcrumb a { color: #f8f7f3; }
.aube-contact-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); align-items: stretch; gap: clamp(42px, 8vw, 130px); margin-top: clamp(45px, 6vw, 84px); }
.aube-contact-hero-copy { align-self: center; }
.aube-contact-hero-copy .aube-eyebrow { color: #cfddcf; }
.aube-contact-hero h1 { margin: 16px 0 24px; font: 400 clamp(4.3rem, 8.2vw, 8.3rem)/.95 var(--aube-serif); letter-spacing: -.068em; }
.aube-contact-hero-copy p { max-width: 540px; margin: 0 0 36px; color: #e5e0da; font-size: clamp(1.1rem, 1.4vw, 1.38rem); line-height: 1.65; }
.aube-contact-hero-aside { min-height: 370px; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(28px, 4vw, 58px); background: #a2b09e; color: #344237; }
.aube-contact-aside-number { font: 400 clamp(3.8rem, 6vw, 7.1rem)/.9 var(--aube-serif); letter-spacing: -.075em; }
.aube-contact-aside-rule { width: 100%; height: 1px; background: rgba(42, 61, 48, .45); }
.aube-contact-aside-place { font-size: .73rem; font-weight: 700; letter-spacing: .2em; }

.aube-contact-details { background: #fff; }
.aube-contact-section-heading { margin-bottom: clamp(38px, 5vw, 66px); }
.aube-contact-section-heading h2, .aube-contact-form-intro h2, .aube-contact-map-text h2 { margin: 12px 0 0; font: 400 clamp(2.8rem, 4.5vw, 5.1rem)/1.06 var(--aube-serif); letter-spacing: -.05em; }
.aube-contact-details-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #becbbd; }
.aube-contact-detail { min-width: 0; padding: 25px clamp(22px, 3vw, 46px) 16px 0; }
.aube-contact-detail + .aube-contact-detail { padding-left: clamp(22px, 3vw, 46px); border-left: 1px solid #d9e0d5; }
.aube-contact-detail-number { color: #657e6b; font-size: .72rem; font-weight: 700; letter-spacing: .16em; }
.aube-contact-detail h3 { margin: 25px 0 17px; font: 400 clamp(1.65rem, 2.1vw, 2.5rem)/1.18 var(--aube-serif); letter-spacing: -.035em; }
.aube-contact-detail address, .aube-contact-detail p { margin: 0 0 17px; color: #574c45; font-size: .96rem; font-style: normal; line-height: 1.7; }
.aube-contact-detail a:not(.aube-contact-detail-value) { color: #3f5646; font-size: .76rem; font-weight: 700; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; border-bottom: 1px solid currentColor; }
.aube-contact-detail a:hover { color: #1b3c2b; }
.aube-contact-detail-value { display: block; width: fit-content; max-width: 100%; margin-bottom: 10px; overflow-wrap: anywhere; color: #45382f; font-size: clamp(.95rem, 1.18vw, 1.17rem); text-decoration-thickness: 1px; }
.aube-contact-detail small { color: #5c665d; font-size: .74rem; }

.aube-contact-form-section { background: #e9eee8; }
.aube-contact-form-grid { display: grid; grid-template-columns: minmax(0, .84fr) minmax(0, 1fr); align-items: start; gap: clamp(45px, 9vw, 150px); }
.aube-contact-form-intro { padding-top: clamp(2px, 3vw, 34px); }
.aube-contact-form-intro h2 { max-width: 570px; }
.aube-contact-editorial { max-width: 500px; margin-top: 25px; color: #574c45; line-height: 1.8; }
.aube-contact-editorial p { color: #574c45; font-size: 1.04rem; }
.aube-contact-form-aside { max-width: 430px; margin-top: 30px; padding-top: 19px; border-top: 1px solid #bacbbb; color: #4d6051; font: italic 400 1.17rem/1.55 var(--aube-serif); }
.aube-contact-form-card { padding: clamp(25px, 4vw, 57px); background: #fff; scroll-margin-top: 120px; }
.aube-contact-form-card form { display: flex; flex-direction: column; gap: 21px; }
.aube-contact-form-row { display: flex; flex-direction: column; gap: 9px; }
.aube-contact-form-row label { color: #45382f; font-size: .73rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.aube-contact-form-row input, .aube-contact-form-row select, .aube-contact-form-row textarea { width: 100%; min-height: 51px; padding: 12px 14px; border: 1px solid #bcc8bb; border-radius: 0; background: #fff; color: #45382f; font-size: 1rem; }
.aube-contact-form-row textarea { min-height: 145px; resize: vertical; }
.aube-contact-form-row :is(input, select, textarea):focus-visible { border-color: #546f5b; outline: 2px solid #546f5b; outline-offset: 2px; }
.aube-contact-consent { display: flex; gap: 11px; align-items: flex-start; color: #4d514d; font-size: .81rem; line-height: 1.55; cursor: pointer; }
.aube-contact-consent input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #536a58; }
.aube-contact-submit { justify-content: space-between; align-self: start; width: auto; margin-top: 8px; }
.aube-contact-form-note { margin: -4px 0 0; color: #65726a; font-size: .73rem; line-height: 1.6; }
.aube-contact-feedback { margin: 0 0 24px; padding: 13px 17px; font-size: .88rem; line-height: 1.55; }
.aube-contact-feedback.is-success { border-left: 3px solid #55735b; background: #e7f0e7; color: #274630; }
.aube-contact-feedback.is-error { border-left: 3px solid #91664e; background: #f6ebe1; color: #563928; }
.aube-contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.aube-contact-map-section { background: #fff; }
.aube-contact-map-grid { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); align-items: center; gap: clamp(42px, 8vw, 125px); }
.aube-contact-map-text p { margin: 22px 0 31px; color: #574c45; font-size: 1.07rem; line-height: 1.7; }
.aube-contact-map-embed { min-width: 0; height: clamp(330px, 38vw, 500px); background: #dce6db; }
.aube-contact-map-embed iframe { display: block; width: 100%; height: 100%; border: 0; }
.aube-contact-map-placeholder { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 25px; color: #3a4c3c; text-align: center; }
.aube-contact-map-overline { margin-bottom: 34px; font-size: .7rem; font-weight: 700; letter-spacing: .18em; }
.aube-contact-map-pin { display: grid; width: 77px; height: 77px; place-items: center; margin-bottom: 20px; border: 1px solid #738d78; border-radius: 50%; font-size: 2.6rem; line-height: 1; }
.aube-contact-map-placeholder strong { font: 400 clamp(1.8rem, 3vw, 2.8rem)/1.15 var(--aube-serif); }
.aube-contact-map-load { margin: 19px 0 12px; padding: 10px 0; border: 0; border-bottom: 1px solid #405841; background: transparent; color: #344a36; font-size: .75rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; cursor: pointer; }
.aube-contact-map-load:hover { color: #192f1b; border-color: #192f1b; }
.aube-contact-map-load:focus-visible { outline: 2px solid #344a36; outline-offset: 3px; }
.aube-contact-map-placeholder small { max-width: 320px; color: #536857; font-size: .72rem; }

@media (max-width: 970px) {
  .aube-contact-hero-grid { gap: 35px; }
  .aube-contact-hero-aside { min-height: 310px; }
  .aube-contact-form-grid { gap: 38px; }
  .aube-contact-map-grid { gap: 38px; }
}
@media (max-width: 760px) {
  .aube-contact-hero > .aube-wrap { padding-bottom: 65px; }
  .aube-contact-hero-grid { grid-template-columns: 1fr; gap: 44px; margin-top: 55px; }
  .aube-contact-hero-copy { text-align: center; }
  .aube-contact-hero h1 { font-size: clamp(3.9rem, 15vw, 6.5rem); }
  .aube-contact-hero-copy p { margin-inline: auto; }
  .aube-contact-hero-aside { min-height: 180px; align-items: center; text-align: center; }
  .aube-contact-aside-number { font-size: clamp(3rem, 10vw, 5rem); }
  .aube-contact-aside-number br, .aube-contact-aside-rule { display: none; }
  .aube-contact-details-grid { grid-template-columns: 1fr; }
  .aube-contact-detail, .aube-contact-detail + .aube-contact-detail { padding: 25px 0; border-left: 0; }
  .aube-contact-detail + .aube-contact-detail { border-top: 1px solid #d9e0d5; }
  .aube-contact-detail h3 { margin-top: 12px; }
  .aube-contact-form-grid, .aube-contact-map-grid { grid-template-columns: 1fr; }
  .aube-contact-form-intro, .aube-contact-map-text { text-align: center; }
  .aube-contact-form-intro h2, .aube-contact-editorial, .aube-contact-form-aside { margin-inline: auto; }
  .aube-contact-map-text .aube-button { margin-inline: auto; }
  .aube-contact-map-embed { height: clamp(330px, 75vw, 460px); }
}
@media (max-width: 480px) {
  .aube-contact-hero-aside { min-height: 145px; padding: 20px; }
  .aube-contact-aside-number { font-size: 2.9rem; }
  .aube-contact-aside-place { font-size: .58rem; }
  .aube-contact-form-card { padding: 24px 18px; }
  .aube-contact-form-intro h2 { font-size: 3.4rem; }
  .aube-contact-map-text h2 { font-size: 3.2rem; }
}
