/* Contact page — Harbour Group corporate enquiry experience */
.contact-page{overflow:hidden}
.contact-intro{padding-top:clamp(80px,8vw,118px);padding-bottom:clamp(78px,8vw,120px)}
.contact-intro h1{font-size:clamp(49px,5.6vw,83px);letter-spacing:-.055em;line-height:1.1;margin:0 0 43px}
.contact-intro-columns{display:grid;grid-template-columns:1fr .88fr;gap:11%;align-items:start}
.contact-intro-columns .lead{font-size:clamp(19px,1.85vw,24px);line-height:1.65;margin:0;max-width:680px}
.contact-intro-columns>p:not(.lead){font-size:16px;line-height:1.8;max-width:530px;margin:0}
.contact-main{background:#fff;border-top:1px solid var(--line);padding:clamp(85px,8vw,125px) 0 clamp(95px,9vw,140px)}
.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(45px,9vw,150px);align-items:start}
.contact-details h2{font-size:clamp(34px,3.5vw,50px);line-height:1.18;letter-spacing:-.05em;margin:0 0 29px}
.contact-details>p{font-size:17px;line-height:1.8;max-width:480px}
.contact-email{margin-top:65px;padding-top:23px;border-top:1px solid #c6d0d9;display:flex;flex-direction:column;gap:14px}
.contact-email>span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#687686}
.contact-email>a{font-size:clamp(17px,1.6vw,22px);font-weight:600;overflow-wrap:anywhere;color:var(--ink)}
.contact-email>a:hover{color:var(--brand)}
.contact-details .contact-region{font-size:13px;color:#697586;margin-top:26px}
.contact-form-wrap{max-width:620px;width:100%}
.contact-form-heading{padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:34px}
.contact-form-heading .eyebrow{margin-bottom:13px}
.contact-form-heading h2{font-size:clamp(23px,2.25vw,31px);line-height:1.3;letter-spacing:-.035em;margin:0}
.contact-form-row{margin-bottom:29px}
.contact-form-row label{display:block;margin-bottom:11px;font-size:13px;font-weight:700;color:var(--ink)}
.contact-form-row label>span:not(.contact-optional){color:var(--brand)}
.contact-optional{color:#798697;font-size:12px;font-weight:400}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;display:block;background:#fbfbf9;color:var(--ink);border:1px solid #bec9d3;border-radius:0;padding:15px 16px;font:inherit;font-size:15px;line-height:1.5;appearance:none}
.contact-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23526071' stroke-width='1.6'%3E%3Cpath d='m3 6 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 17px center;padding-right:45px}
.contact-form textarea{resize:vertical;min-height:158px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--brand);outline:2px solid rgba(7,91,200,.13);outline-offset:0}
.contact-form [aria-invalid="true"]{border-color:#b43b35}
.contact-form-note{font-size:12px;line-height:1.7;color:#647184;max-width:530px;margin:0 0 25px}
.contact-submit-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.contact-submit-row button{background:var(--brand);color:#fff;border:0;padding:17px 23px;cursor:pointer;font-weight:700;font-size:14px}
.contact-submit-row button:disabled{opacity:.55;cursor:wait}
.contact-submit-row button:hover:not(:disabled){background:#064ba4}
.contact-status{font-size:13px;line-height:1.6;margin:0;max-width:340px}
.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-end{background:#10233b;color:white;position:relative;overflow:hidden}
.contact-end-inner{position:relative;isolation:isolate;padding-top:clamp(80px,8vw,120px);padding-bottom:clamp(90px,8vw,130px)}
.contact-end-inner>span,.contact-end-inner>p,.contact-end-inner>a{position:relative;z-index:1}
.contact-end .eyebrow{color:#c4ddff}
.contact-end p{font:600 clamp(25px,2.9vw,40px)/1.4 Manrope,Arial,sans-serif;letter-spacing:-.035em;color:#fff;max-width:930px}
.contact-end .link{color:#fff}
.contact-end-inner>img{position:absolute;right:-23%;top:-60%;height:210%;width:auto;opacity:.055;filter:grayscale(1) brightness(0) invert(1);z-index:0;pointer-events:none}
@media(max-width:900px){.contact-layout{gap:38px}.contact-intro-columns{gap:7%}}
@media(max-width:720px){
.contact-intro{padding-top:68px;padding-bottom:75px}
.contact-intro h1{font-size:clamp(42px,10vw,59px);margin-bottom:26px}
.contact-intro-columns,.contact-layout{grid-template-columns:1fr;gap:24px}
.contact-intro-columns .lead{font-size:19px}
.contact-intro-columns>p:not(.lead){font-size:15px}
.contact-main{padding:75px 0 85px}
.contact-layout{gap:50px}
.contact-details h2{font-size:clamp(32px,8vw,43px)}
.contact-details>p{font-size:16px}
.contact-email{margin-top:30px}
.contact-form-row{margin-bottom:24px}
.contact-end-inner{padding-top:75px;padding-bottom:90px}
.contact-end p{font-size:clamp(24px,6.5vw,34px)}
.contact-end-inner>img{right:-80%;top:-12%;height:125%}
}
/* 28 Oct refinement — bring the enquiry form into view sooner */
.contact-intro{padding-top:clamp(45px,4.6vw,68px);padding-bottom:clamp(38px,4vw,60px)}
.contact-intro h1{font-size:clamp(40px,4.4vw,64px);line-height:1.12;margin-bottom:clamp(22px,2.4vw,32px)}
.contact-intro-columns{gap:8%}
.contact-intro-columns .lead{font-size:clamp(18px,1.55vw,21px);line-height:1.6}
.contact-main{padding-top:clamp(42px,4.5vw,67px)}
.contact-form-heading{margin-bottom:27px}
@media(max-width:720px){.contact-intro{padding-top:41px;padding-bottom:45px}.contact-intro h1{font-size:clamp(37px,8vw,49px);margin-bottom:20px}.contact-intro-columns{gap:15px}.contact-intro-columns .lead{font-size:18px}.contact-main{padding-top:47px}.contact-layout{gap:37px}}
