.contact-page{background:var(--paper)}
.contact-page .preview-ribbon{pointer-events:none}
.contact-page .corner-menu a[aria-current=page]{color:var(--yellow);background:#303030}
.contact-hero{position:relative;min-height:clamp(480px,73svh,820px);padding-top:140px;padding-bottom:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;text-align:center}
.contact-eyebrow{font-size:10px;letter-spacing:.13em;color:var(--accent-ink)}
.contact-hero h1{font-size:clamp(76px,11.8vw,184px);line-height:1.08;width:100%}
.contact-intro{font-size:19px;line-height:1.6;color:var(--accent-ink);max-width:670px}
.contact-hero .pill-button{background:white;border-color:#111;color:#111;font-size:15px;min-height:50px}
.contact-hero .pill-button>span{background:#111;color:white;width:34px;height:34px}
.contact-enquiry{scroll-margin-top:80px;padding-top:38px;padding-bottom:85px;background:var(--surface)}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:7vw;margin-top:48px}
.contact-aside{align-self:start;border-top:1px solid #51495d33;padding-top:26px}
.contact-aside h2{font-size:clamp(25px,2.2vw,34px);line-height:1.3;letter-spacing:-.035em}
.contact-aside>p{margin-top:20px;font-size:15px;line-height:1.8;color:var(--accent-ink);max-width:360px}
.contact-aside-social{display:flex;flex-wrap:wrap;gap:22px;margin-top:30px;padding-top:25px;border-top:1px solid #51495d22}
.contact-aside-social>span{width:100%;font-size:12px;color:var(--accent-ink)}
.contact-aside-social a{font-size:20px;font-weight:650;text-decoration:underline;text-underline-offset:5px;letter-spacing:-.03em}
.contact-aside-social a>span{margin-left:8px}
.contact-form{min-width:0}
.contact-form fieldset{border:0;padding:0;margin:12px 0 32px;min-width:0}
.contact-form legend{font-size:13px;font-weight:550;line-height:1.5;margin-bottom:16px}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.contact-form label:not(.contact-service){display:flex;flex-direction:column;font-size:13px;font-weight:550;gap:9px;margin-bottom:30px;min-width:0}
.contact-form :is(input:not([type=radio]),textarea){font:400 16px/1.6 Inter,BelleChinese,"PingFang SC",sans-serif;width:100%;min-width:0;border:0;border-bottom:1px solid #51495d55;border-radius:0;background:transparent;padding:13px 0;color:var(--ink);outline-offset:5px}
.contact-form :is(input,textarea,select):focus-visible{outline:2px solid #9782ad}
.contact-form :is(input,textarea)::placeholder{color:#77727c;font-weight:400;font-size:14px;opacity:1}
.contact-form textarea{resize:vertical;min-height:128px;max-height:500px}
.contact-service-options{display:flex;flex-wrap:wrap;gap:10px}
.contact-service{position:relative;display:inline-flex;align-items:center;justify-content:center;border:1px solid #51495d44;border-radius:28px;padding:11px 17px;min-height:44px;font-size:13px;line-height:1.4;cursor:pointer}
.contact-service input{position:absolute;opacity:0;width:1px;height:1px;inset:50% auto auto 14px}
.contact-service:has(input:checked){background:var(--lavender);border-color:var(--accent-ink)}
.contact-service:has(input:focus-visible){outline:2px solid var(--accent-ink);outline-offset:4px}
.contact-submit-area{padding-top:4px;display:flex;align-items:center;gap:24px;justify-content:space-between}
.contact-submit-area .pill-button{flex-shrink:0}
.contact-submit-area button:disabled{opacity:.4;cursor:not-allowed}
.contact-submit-area>p{font-size:12px;line-height:1.8;max-width:280px;color:var(--accent-ink)}
.contact-submit-area>p:focus{outline:2px solid var(--lavender);outline-offset:4px}
.has-motion .contact-reveal{opacity:0;transform:translateY(22px);transition:opacity .55s,transform .55s}
.has-motion .contact-reveal.is-visible{opacity:1;transform:none}
@media(max-width:1000px){.contact-layout{gap:5vw}.contact-submit-area{flex-direction:column;align-items:flex-start}.contact-submit-area>p{max-width:none}}
@media(max-width:767px){
 .contact-hero{min-height:475px;padding-top:115px;padding-bottom:50px;gap:24px}
 .contact-hero h1{font-size:18vw}.contact-intro{font-size:15px;max-width:360px}
 .contact-enquiry{padding-top:30px;padding-bottom:50px}.contact-layout{grid-template-columns:1fr;gap:42px;margin-top:32px}
 .contact-aside h2{font-size:28px}.contact-aside>p{max-width:none;margin-top:16px}
 .contact-aside-social{gap:16px 22px;margin-top:24px}.contact-aside-social a{font-size:19px}
 .contact-form-row{gap:18px}.contact-service{padding:11px 15px;font-size:12px}
 .contact-submit-area .pill-button{width:100%}
}
@media(max-width:380px){.contact-form-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){.contact-reveal{transition:none!important;transform:none!important;opacity:1!important}}

.contact-phone-field{margin-bottom:30px;min-width:0}
.contact-form .contact-phone-field>label{margin-bottom:9px}
.contact-phone-row{display:flex;align-items:stretch;gap:18px;border-bottom:1px solid #51495d55;min-width:0}
.contact-phone-row select{flex:0 0 180px;width:180px;min-width:0;border:0;border-radius:0;background:transparent;color:var(--ink);font:400 15px/1.6 Inter,sans-serif;padding:13px 18px 13px 0;outline-offset:4px;text-overflow:ellipsis;cursor:default}
.contact-form .contact-phone-row input{flex:1;width:0;border-bottom:0}
@media(max-width:767px){.contact-phone-row{gap:12px}.contact-phone-row select{flex-basis:142px;width:142px;font-size:14px}}
