/* Contact (/contact/): the form first, beside it what happens next and the other ways to reach us; offices and
   the process follow (components in /shared/ui.css). The form's names and fields are fixed by contact.php. */
.contact-page .page-hero{padding-bottom:clamp(40px,5vw,64px)}
.enquiry.band{padding-top:clamp(48px,6vw,80px)}
.enquiry-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:clamp(32px,5vw,72px);align-items:start}
.enquiry-head{margin-bottom:28px;max-width:60ch}
.enquiry-head h2{font-size:var(--t-h2)}
.enquiry-head p{margin-top:12px;color:var(--ink-2)}
.enquiry-head .enquiry-for{color:var(--violet);font-weight:700}
.enquiry-form{border-top:4px solid var(--ink);padding-top:28px}
.enquiry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.enquiry-wide{grid-column:1/-1}
.enquiry-form .field>span b{color:var(--violet)}
.enquiry-form .field>span i{font-style:normal;font-weight:500;color:var(--ink-3)}
.enquiry-form .field select{appearance:none;padding-right:40px;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M2 4.5 6 8l4-3.5' fill='none' stroke='%237b2cbf' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center}
.enquiry-form .field input::placeholder,.enquiry-form .field textarea::placeholder{color:var(--ink-3)}
.enquiry-form [aria-invalid=true]{border-color:#b3261e;box-shadow:0 0 0 3px rgba(179,38,30,.15)}
.enquiry-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.enquiry-turnstile{margin-top:20px}
.enquiry-submit{display:flex;align-items:center;gap:16px 22px;flex-wrap:wrap;margin-top:26px}
.enquiry-submit .btn{min-width:200px}
.enquiry-submit .btn[disabled]{opacity:.7;cursor:progress}
.enquiry-submit p{flex:1 1 240px;font-size:var(--t-small);color:var(--ink-3)}
.enquiry-submit a,.enquiry-status a{color:var(--violet);font-weight:600}
.enquiry-status{margin-top:16px;font-size:.95rem;color:var(--ink-2)}
.enquiry-status:empty{margin:0}
.enquiry-status.is-error{color:#b3261e;font-weight:600}
.enquiry-status.is-busy::before{content:"";display:inline-block;width:14px;height:14px;margin-right:10px;vertical-align:-2px;border:2px solid var(--paper-3);border-top-color:var(--violet);border-radius:50%;animation:enquiry-spin .8s linear infinite}
@keyframes enquiry-spin{to{transform:rotate(360deg)}}
.enquiry-aside{position:sticky;top:calc(var(--top) + 32px);background:var(--onyx);color:var(--on-dark);border-radius:var(--radius);padding:clamp(24px,3vw,32px)}
.enquiry-aside h2{font-size:1.15rem;letter-spacing:-.02em}
.enquiry-aside h2+*{margin-top:14px}
.enquiry-aside .after{margin:0 0 30px;padding-left:1.3em;color:var(--on-dark-2);font-size:.95rem;display:grid;gap:10px}
.enquiry-aside .after li::marker{color:var(--amethyst);font-weight:700}
.reach{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.reach a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding:14px 16px;background:var(--onyx-2);text-decoration:none;transition:background .2s}
.reach a:hover{background:var(--onyx-3)}
.reach b{color:var(--white);font-size:.98rem}
.reach span{color:var(--on-dark-2);font-size:.92rem}
@media (prefers-reduced-motion:reduce){.enquiry-status.is-busy::before{animation:none}}
@media (max-width:1080px){.enquiry-layout{grid-template-columns:minmax(0,1fr)}.enquiry-aside{position:static}}
@media (max-width:640px){.enquiry-grid{grid-template-columns:1fr}.enquiry-submit .btn{width:100%}}
