.contact-hero { display:grid; grid-template-columns:.94fr 1.06fr; min-height:665px; background:var(--shell); }
.contact-hero__copy { display:flex; align-items:center; padding:80px clamp(34px,7vw,112px); }
.contact-hero__inner { max-width:560px; }
.contact-hero h1 { margin:0 0 28px; font:400 clamp(75px,8vw,118px)/.88 "Italiana",Georgia,serif; letter-spacing:-.05em; }
.contact-hero h1 em { display:block; margin-top:6px; color:#a67f79; font:italic 400 .83em/.95 Georgia,serif; letter-spacing:-.06em; }
.contact-hero__inner > p:not(.eyebrow) { max-width:470px; margin:0 0 32px; color:#5e675d; font-size:15px; line-height:1.85; }
.contact-hero__note { display:block; margin-top:70px; color:#7d887b; font:600 9px/1.4 "DM Sans",sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.contact-hero__image { position:relative; min-height:665px; overflow:hidden; background:#d8dfd5; }
.contact-hero__image img { height:100%; object-fit:cover; object-position:center 53%; }
.contact-hero__image::after { position:absolute; inset:55% 0 0; content:""; background:linear-gradient(transparent,rgba(32,42,32,.28)); pointer-events:none; }
.contact-hero__image span { position:absolute; z-index:1; right:30px; bottom:29px; color:#fff; font:600 9px/1.3 "DM Sans",sans-serif; letter-spacing:.17em; text-align:right; text-transform:uppercase; }

.contact-intro { padding:100px 0 108px; background:var(--paper); }
.contact-intro__grid { display:grid; grid-template-columns:1fr .8fr; align-items:end; gap:110px; }
.contact-intro h2 { max-width:710px; margin:0; font:400 clamp(58px,6.5vw,88px)/.96 "Italiana",Georgia,serif; letter-spacing:-.045em; }
.contact-intro h2 em { color:#84947e; font:italic 400 .85em Georgia,serif; }
.contact-intro__grid > p { max-width:450px; margin:0 0 5px; color:#60695f; font-size:15px; line-height:1.85; }

.contact-enquiry { padding:100px 0 112px; background:#eef0eb; }
.contact-enquiry__grid { display:grid; grid-template-columns:.72fr 1.28fr; align-items:start; gap:clamp(50px,8vw,120px); }
.contact-aside { padding-top:45px; }
.contact-aside h2 { max-width:450px; margin:0 0 25px; font:400 clamp(55px,5.6vw,77px)/.95 "Italiana",Georgia,serif; letter-spacing:-.045em; }
.contact-aside h2 em { display:block; color:#a57f79; font:italic 400 .83em Georgia,serif; }
.contact-aside__lede { max-width:410px; margin:0 0 39px; color:#5d685d; font-size:14px; line-height:1.85; }
.contact-methods { border-top:1px solid var(--line); }
.contact-methods > div { padding:22px 0 24px; border-bottom:1px solid var(--line); }
.contact-methods span { display:block; margin-bottom:10px; color:#647260; font:600 9px/1.3 "DM Sans",sans-serif; letter-spacing:.17em; text-transform:uppercase; }
.contact-methods a { display:inline-block; border-bottom:1px solid #9daa98; font:400 25px/1.3 "Italiana",Georgia,serif; overflow-wrap:anywhere; }
.contact-methods a:hover { color:var(--forest); }
.contact-methods p { margin:0 0 8px; font-size:14px; line-height:1.7; }
.contact-methods small { color:#6e796c; font-size:11px; }
.contact-aside__area { margin:32px 0 0; color:#657062; font-size:12px; line-height:1.7; }

.contact-form-panel { padding:clamp(33px,4.8vw,70px); background:var(--paper); box-shadow:0 24px 65px rgba(60,71,57,.055); }
.contact-form-panel h3 { margin:0 0 15px; font:400 clamp(44px,4.5vw,65px)/.99 "Italiana",Georgia,serif; letter-spacing:-.04em; }
.contact-form-panel h3 em { color:#a57f79; font:italic 400 .85em Georgia,serif; }
.contact-form-panel__intro { max-width:510px; margin:0 0 34px; color:#657064; font-size:13px; line-height:1.75; }
.contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 21px; }
.contact-field { min-width:0; }
.contact-field--wide { grid-column:1 / -1; }
.contact-field label { display:block; margin-bottom:8px; color:#4d5b4b; font:600 9px/1.3 "DM Sans",sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.contact-field input,.contact-field select,.contact-field textarea { display:block; width:100%; min-height:51px; padding:12px 13px; border:1px solid #d6ddd2; border-radius:0; background:#fbfcf9; color:var(--ink); font:400 13px/1.45 "Manrope",sans-serif; }
.contact-field textarea { min-height:122px; resize:vertical; }
.contact-field input::placeholder,.contact-field textarea::placeholder { color:#7e887b; opacity:1; }
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus { border-color:#6b7b66; outline:2px solid #6b7b66; outline-offset:2px; }
.contact-field.is-invalid input,.contact-field.is-invalid select,.contact-field.is-invalid textarea { border-color:#9f514c; }
.contact-field__error { display:block; margin-top:7px; color:#8b3d38; font-size:11px; line-height:1.45; }
.contact-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.contact-submit { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:31px; }
.contact-turnstile { min-height:0; }
.contact-submit p { max-width:240px; margin:0; color:#6b7568; font-size:11px; line-height:1.6; }
.contact-submit .button { flex:none; }
.contact-submit .button:disabled { cursor:wait; opacity:.62; }
.contact-form-status { margin:23px 0 0; padding:14px 16px; border:1px solid transparent; font-size:12px; line-height:1.6; }
.contact-form-status[data-state="success"] { border-color:#cbd8c6; background:#edf1e9; color:#3e563e; }
.contact-form-status[data-state="error"] { border-color:#e2c4c0; background:#fbefed; color:#793b36; }
.contact-form-status[hidden] { display:none; }
.contact-form-fallback { margin:23px 0 0; padding:14px 16px; background:#edf1e9; color:#3e563e; font-size:12px; line-height:1.6; }
.contact-form-fallback a { text-decoration:underline; }
.contact-form-confirmation { padding:clamp(34px,5vw,58px); border:1px solid #c6d3c0; background:#edf2e9; text-align:center; }
.contact-form-confirmation h3 { max-width:500px; margin:0 auto 17px; }
.contact-form-confirmation > p:not(.eyebrow) { max-width:460px; margin:0 auto; color:#4d5e4a; font-size:15px; line-height:1.7; }
.contact-form-confirmation__next { max-width:460px; margin:31px auto 0; padding-top:25px; border-top:1px solid #cad6c4; }
.contact-form-confirmation__next p { margin:0 0 22px; color:#657361; font-size:12px; line-height:1.65; }
.contact-form-confirmation .button { background:#536653; }
.contact-form-confirmation .button:hover { background:#40513f; }
.contact-form-confirmation[hidden] { display:none; }

.contact-next { padding:110px 0 120px; }
.contact-next__heading { max-width:900px; margin-bottom:45px; }
.contact-next h2 { margin:0; font:400 clamp(56px,6.3vw,86px)/.95 "Italiana",Georgia,serif; letter-spacing:-.045em; }
.contact-next h2 em { color:#869580; font:italic 400 .84em Georgia,serif; }
.contact-next__steps { display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:39px; border-top:1px solid var(--line); }
.contact-next article { padding:33px 35px 8px 0; }
.contact-next article + article { padding-left:35px; border-left:1px solid var(--line); }
.contact-next article span { color:#667664; font:600 9px/1.3 "DM Sans",sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.contact-next article h3 { margin:27px 0 13px; font:400 35px/1.05 "Italiana",Georgia,serif; }
.contact-next article p { max-width:340px; margin:0; color:#667064; font-size:13px; line-height:1.8; }

@media(max-width:980px) {
  .contact-hero { grid-template-columns:1fr 1fr; min-height:590px; }
  .contact-hero__copy { padding:65px 35px; }
  .contact-hero h1 { font-size:clamp(66px,8vw,88px); }
  .contact-hero__image { min-height:590px; }
  .contact-intro__grid { gap:55px; }
  .contact-enquiry__grid { grid-template-columns:.8fr 1.2fr; gap:40px; }
  .contact-form-panel { padding:36px; }
  .contact-submit { align-items:flex-start; flex-direction:column; gap:15px; }
  .contact-submit p { max-width:none; }
}
@media(max-width:700px) {
  .contact-hero,.contact-intro__grid,.contact-enquiry__grid { grid-template-columns:1fr; }
  .contact-hero__copy { min-height:535px; padding:70px 25px 47px; }
  .contact-hero h1 { font-size:clamp(72px,16vw,100px); }
  .contact-hero__note { margin-top:43px; }
  .contact-hero__image { min-height:430px; height:55vh; }
  .contact-intro { padding:77px 0 83px; }
  .contact-intro__grid { gap:25px; }
  .contact-intro h2 { font-size:clamp(54px,12vw,75px); }
  .contact-enquiry { padding:75px 0 85px; }
  .contact-enquiry__grid { gap:55px; }
  .contact-aside { padding-top:0; }
  .contact-aside h2 { font-size:clamp(57px,12vw,75px); }
  .contact-next { padding:82px 0 90px; }
  .contact-next h2 { font-size:clamp(54px,12vw,74px); }
  .contact-next__steps { grid-template-columns:1fr; }
  .contact-next article,.contact-next article + article { padding:27px 0 30px; border-left:0; }
  .contact-next article + article { border-top:1px solid var(--line); }
  .contact-next article h3 { margin-top:16px; }
}
@media(max-width:500px) {
  .contact-hero h1 { font-size:70px; }
  .contact-form-panel { padding:36px 22px; }
  .contact-form-panel h3 { font-size:48px; }
  .contact-fields { grid-template-columns:1fr; gap:22px; }
  .contact-field--wide { grid-column:auto; }
  .contact-submit .button { width:100%; }
}
