html{scroll-behavior:smooth;scroll-padding-top:112px}
.contact-page{padding-bottom:0}
.contact-intro{padding:65px var(--gutter) 60px}
.contact-title{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:6vw;margin-top:30px}
.contact-title h1{font-size:clamp(76px,9.5vw,145px);line-height:.95;letter-spacing:-.035em}
.contact-title>div{padding-bottom:8px;max-width:350px;justify-self:end;width:100%}
.contact-title .star{width:38px;height:38px;margin-bottom:32px}
.contact-title p{font-size:17px;line-height:1.7;margin-bottom:18px}
.contact-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;padding:38px var(--gutter) 45px;border-block:1px solid var(--line)}
.contact-ways h2{font-size:34px;margin:23px 0 20px;line-height:1.05}
.contact-ways .eyebrow{font-size:9px}
.contact-number,.contact-email{display:flex;justify-content:space-between;gap:12px;font-size:13px;overflow-wrap:anywhere}
.contact-email{font-size:12px}
.contact-ways>div>p:not(.eyebrow){font-size:11px;color:var(--muted);margin:12px 0 16px;line-height:1.8}
.contact-ways .text-link{font-size:11px}
.contact-location{padding:90px var(--gutter);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9vw;align-items:center;border-bottom:1px solid var(--line)}
.location-photo>img{height:580px;object-fit:cover;border-radius:50% 50% 0 0}
.location-photo figcaption{font-size:10px;color:var(--muted);margin-top:16px}
.location-copy h2{font-size:clamp(55px,5.8vw,88px);margin:25px 0;line-height:1}
.location-copy address{font-style:normal;font-size:17px;line-height:1.7;margin:25px 0}
.location-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.9;max-width:44ch}
.location-actions{display:flex;flex-wrap:wrap;gap:15px 25px;margin-top:25px}
.location-actions .button,.location-actions .text-link{font-size:12px}
.arrival-details{display:flex;gap:55px;border-top:1px solid var(--line);padding-top:20px;margin:30px 0 0}
.arrival-details dt{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.arrival-details dd{font-size:13px;margin:8px 0 0}
.contact-enquiry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9vw;padding:90px var(--gutter);border-bottom:1px solid var(--line)}
.enquiry-intro h2{font-size:clamp(54px,5.8vw,88px);margin:25px 0;line-height:1}
.enquiry-intro>p:not(.eyebrow){font-size:14px;line-height:1.9;max-width:40ch}
.enquiry-intro>.star{margin-top:50px;width:32px;height:32px}
.villa-reminder{margin-top:35px;max-width:410px}
.villa-reminder a{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding:17px 0}
.villa-reminder a>span:first-child{font:700 30px var(--display)}
.villa-reminder a>span:last-child{font-size:10px}
.villa-reminder>p{font-size:11px;border-top:1px solid var(--line);padding-top:16px;color:var(--muted)}
.enquiry-help{font-size:12px;line-height:1.85;border-bottom:1px solid var(--ink);padding-bottom:22px;margin-bottom:25px}
.enquiry-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.contact-page form label{font-size:9px;letter-spacing:.08em;line-height:1.7}
.contact-page form label span{color:var(--muted);text-transform:none;letter-spacing:0;font-size:10px}
.contact-page textarea{display:block;width:100%;border:1px solid var(--line);border-radius:0;resize:vertical;min-height:130px;background:white;color:var(--ink);font:14px/1.7 var(--body);padding:12px}
.field-hint{font-size:10px;color:var(--muted);margin-top:10px}
.contact-page input::placeholder,.contact-page textarea::placeholder{color:#707070}
.contact-page button:disabled{cursor:not-allowed;opacity:.5}
.enquiry-review{border-top:1px solid var(--ink);padding-top:30px;margin-top:35px;scroll-margin-top:20px}
.enquiry-review[hidden]{display:none}
.enquiry-review h3{font-size:42px;margin:16px 0}
.enquiry-review>p:not(.eyebrow){font-size:12px;line-height:1.8}
.enquiry-review pre{font:12px/1.9 var(--body);background:#f5f5f2;border:1px solid var(--line);padding:22px;white-space:pre-wrap;overflow-wrap:anywhere;margin:22px 0}
.enquiry-send{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.enquiry-send .button{font-size:12px}.enquiry-review>#edit-enquiry{font-size:11px;margin-top:12px}
.contact-end{padding:65px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:35px}
.contact-end h2{font-size:clamp(40px,4vw,60px)}
.contact-page footer{padding-bottom:35px;border-top:1px solid var(--line)}
.header a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
@media(max-width:1000px){
  .contact-ways{gap:25px}.contact-title{grid-template-columns:1.3fr 1fr}.contact-title p{font-size:15px}
  .contact-title h1{font-size:clamp(72px,9vw,100px)}.contact-ways h2{font-size:29px}
  .contact-location,.contact-enquiry{gap:6vw}.location-photo>img{height:500px}
  .contact-end{flex-wrap:wrap}.contact-end>.eyebrow{flex-basis:100%}
}
@media(max-width:760px){
  html{scroll-padding-top:90px}
  .contact-intro{padding-block:38px}.contact-intro>.eyebrow{font-size:9px}
  .contact-title{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:24px}
  .contact-title h1{font-size:clamp(60px,16vw,95px)}
  .contact-title>div{max-width:none;position:relative;padding:0}
  .contact-title .star{position:absolute;right:4px;top:6px;width:28px;height:28px}
  .contact-title p{font-size:14px;margin-bottom:12px;padding-right:40px}
  .contact-ways{grid-template-columns:minmax(0,1fr);gap:0;padding-block:8px}
  .contact-ways>div{padding:28px 0;border-bottom:1px solid var(--line)}
  .contact-ways>div:last-child{border:0}.contact-ways h2{font-size:33px;margin:15px 0}
  .contact-email,.contact-number{font-size:14px}.contact-ways .text-link{font-size:12px}
  .contact-location{grid-template-columns:minmax(0,1fr);gap:35px;padding-block:55px}
  .location-photo>img{height:390px}.location-photo figcaption{font-size:9px}
  .location-copy h2{font-size:57px}.location-copy address{font-size:16px}
  .location-actions .button{width:100%}.arrival-details{justify-content:space-between;gap:30px}
  .contact-enquiry{grid-template-columns:minmax(0,1fr);gap:35px;padding-block:55px}
  .enquiry-intro h2{font-size:57px}.enquiry-intro>p:not(.eyebrow){font-size:13px}.enquiry-intro>.star{display:none}
  .villa-reminder{margin-top:28px}.villa-reminder a>span:last-child{font-size:9px}
  .contact-page form input,.contact-page form select,.contact-page textarea{font-size:16px}
  .contact-page form input{padding:10px;max-width:100%}.enquiry-row{gap:12px}
  .enquiry-row:first-of-type{grid-template-columns:minmax(0,1fr)}
  .contact-page form label{font-size:9px}.contact-page form label span{font-size:9px}
  .enquiry-review pre{padding:16px;font-size:12px}.enquiry-send .button{width:100%}
  .contact-end{padding-block:45px;display:block}.contact-end h2{font-size:44px;margin:22px 0}
}
