/* Contact actions share the approved navy identity and square button shape. */
.header-phone{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;white-space:nowrap;min-height:44px}
.contact-icon{display:inline-block;flex:none;width:21px;height:21px;background:currentColor;mask:var(--contact-icon) center/contain no-repeat;-webkit-mask:var(--contact-icon) center/contain no-repeat}
.icon-phone{--contact-icon:url('assets/icon-phone.svg')}.icon-whatsapp{--contact-icon:url('assets/icon-whatsapp.svg')}.icon-email{--contact-icon:url('assets/icon-email.svg')}
.contact-layout>*{min-width:0}.contact-copy>p:not(.eyebrow){max-width:38ch}
.contact-person{margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.contact-person h3{font-size:22px;font-weight:500;letter-spacing:-.025em;margin:0 0 8px;line-height:1.25}
.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.contact-action{display:flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:13px 10px;font-size:12px;font-weight:500;line-height:1.4;text-align:center;transition:background-color 160ms ease,color 160ms ease,transform 160ms ease}
.contact-call{background:var(--navy);color:#fff}.contact-call:hover{background:#204b76}
.contact-whatsapp{border:1px solid #b1bfcd;color:var(--navy)}.contact-whatsapp:hover{background:#e4ebf1}
.contact-whatsapp .contact-icon{color:#167444}
.contact-email{grid-column:1/-1;display:flex;align-items:center;gap:13px;min-height:64px;padding:13px 0;border-bottom:1px solid var(--line);color:var(--navy)}
.contact-email>span:last-child{min-width:0}.contact-email:hover>span:last-child{text-decoration:underline;text-underline-offset:4px}
.contact-details{max-width:none;margin-top:30px}.contact-details h3{font-size:19px;margin-bottom:16px}.contact-company{font-size:16px;font-weight:500;line-height:1.5;margin:0 0 14px}
.contact-details dl>div{grid-template-columns:94px minmax(0,1fr);gap:14px;padding-block:12px}.contact-details dt{font-size:11px;color:#536679}.contact-details dd{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.contact-details dd span{font-size:13px}.contact-details dd a:hover{text-decoration:underline;text-underline-offset:3px}
.company-source{display:inline-flex;align-items:center;gap:14px;font-size:12px;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.form-bottom{flex-wrap:wrap}.form-bottom p{font-size:12px;color:#536679;max-width:310px}.form-bottom .button{min-width:200px}.form-bottom .button:disabled{cursor:wait;opacity:.7}.form-bottom .button:disabled:hover{transform:none}
.form-bottom .button .submit-label{font-size:14px;font-weight:600}
.form-status{font-size:14px;line-height:1.65;margin:0;overflow-wrap:anywhere}.form-status:not(:empty){margin-top:22px;padding:18px 20px;background:#e8eef4;border:1px solid #b8c8d7}.form-status[data-state=success]{background:#e9f2ed;border-color:#a4c6b4;color:#174b34}.form-status[data-state=error]{background:#fbefeb;border-color:#d7afa1;color:#743422}
#enquiry-form [aria-invalid=true]{border-color:#a14b35;outline:1px solid #a14b35}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.mobile-contact{display:none}
.site-footer>div{font-size:11px;max-width:360px}.site-footer .footer-company{font-size:13px;color:var(--ink)}
.contact a:focus-visible,.mobile-contact a:focus-visible,.header-phone:focus-visible{outline:2px solid #25647d;outline-offset:4px}
@media(hover:hover){.contact-action:active{transform:translateY(1px)}}
@media(max-width:1150px){.header-phone{display:none}}
@media(min-width:761px) and (max-width:1050px){.contact-layout{grid-template-columns:minmax(270px,.85fr) minmax(0,1.2fr);gap:32px}.contact-actions{grid-template-columns:1fr}.contact-email strong{font-size:15px}}
@media(max-width:760px){body{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}.contact-person{margin-top:26px;padding-top:22px}.contact-actions{max-width:470px}.contact-email strong{font-size:16px}.contact-details{max-width:470px}.contact-copy>p:not(.eyebrow){max-width:44ch}.form-bottom{gap:18px}.form-bottom p{max-width:100%}.form-bottom .button{width:100%}.mobile-contact{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:7px 12px calc(7px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #d2dce5}.mobile-contact a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;font-size:12px;color:var(--navy);font-weight:500}.mobile-contact a+a{border-left:1px solid #e1e7ed}.mobile-contact .contact-icon{width:18px;height:18px}.mobile-contact a:nth-child(2) .contact-icon{color:#167444}.site-footer>div{max-width:none;flex-wrap:wrap}.site-footer .footer-company{flex-basis:100%}}
@media(max-width:359px){.contact-action{font-size:11px;gap:6px}.contact-action .contact-icon{width:18px;height:18px}.contact-details dl>div{grid-template-columns:80px minmax(0,1fr);gap:10px}.mobile-contact{padding-inline:6px}.mobile-contact a{font-size:11px;gap:5px}}
@media(prefers-reduced-motion:reduce){.contact-action{transition:none}.contact-action:active{transform:none}}
/* Keep form annotations readable against the contact-section background. */
#enquiry-form label>span{color:#536679}
/* The first screen ends above the fixed contact bar so carousel controls stay usable. */
@media(max-width:760px){:root{--mobile-contact-height:calc(63px + env(safe-area-inset-bottom,0px))}body{padding-bottom:var(--mobile-contact-height)}.hero{height:calc(100svh - var(--header-height,116px) - var(--mobile-contact-height))}}
@supports(height:100dvh){@media(max-width:760px){.hero{height:calc(100dvh - var(--header-height,116px) - var(--mobile-contact-height))}}}
