/* =========================================================================
 * HMS — Contact Us page (v1.10.39). Same family as the About page:
 * warm hero, coloured cards, a navy band, then the form on lavender.
 * Hover: lift 2px with a soft shadow; text colour never changes.
 * ========================================================================= */
body.hms.hms-contact-page .site-content, body.hms.hms-contact-page #content { background: transparent; }
.hms-contact { color: #13204A; }
.hms-contact__eb { color: #C0186A; margin-bottom: 10px; }
.hms-contact__eb--gold { color: #FFC94A; }
.hms-contact__h2 { margin: 0; font-weight: 400; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 12px; }
.hms-contact__h2 .hms-fr { font-weight: 900; color: #13204A; }
.hms-contact__h2 .hms-sc { color: #C0186A; }
body.hms .hms-contact__h2 .hms-fr { font-size: var(--hms-fs-h2); line-height: 1; }
body.hms .hms-contact__h2 .hms-sc { font-size: var(--hms-fs-h2-sc); line-height: 1; }
.hms-contact__h2--light .hms-fr { color: #FFF8EE; }
.hms-contact__h2--light .hms-sc { color: #FFC94A; }
.hms-contact__head { margin-bottom: clamp(20px, 2.6vw, 32px); }

/* ---- Hero ------------------------------------------------------------- */
.hms-contact__hero { position: relative; overflow: hidden; padding: calc(var(--hms-head, 96px) + clamp(16px, 3vw, 40px)) 0 clamp(96px, 9vw, 130px); background: radial-gradient(640px 460px at 82% 40%, rgba(255, 201, 74, .45), rgba(255, 201, 74, 0) 70%), linear-gradient(160deg, #FFF1D2 0%, #FFE8DA 50%, #FFDCEA 100%); }
.hms-contact__hero::before { content: ""; position: absolute; inset: 0; opacity: .55; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cg fill='none' stroke='%23C0186A' stroke-opacity='.07'%3E%3Ccircle cx='28' cy='28' r='20'/%3E%3Ccircle r='20'/%3E%3Ccircle cx='56' r='20'/%3E%3Ccircle cy='56' r='20'/%3E%3Ccircle cx='56' cy='56' r='20'/%3E%3C/g%3E%3C/svg%3E"); }
.hms-contact__hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 24px 40px; align-items: center; }
.hms-contact__crumbs { display: flex; gap: 8px; font-size: 13px; color: #5A5670; margin-bottom: 18px; }
.hms .hms-contact__crumbs a { color: #5A5670; text-decoration: underline; text-underline-offset: 3px; }
.hms-contact__title { margin: 0; font-weight: 400; display: flex; flex-direction: column; }
.hms-contact__title .hms-fr { font-weight: 900; color: #13204A; }
.hms-contact__title .hms-sc { color: #C0186A; padding-left: clamp(12px, 2vw, 32px); }
html body.hms .hms-contact__title .hms-fr { font-size: var(--hms-fs-h1); line-height: 1.02; }
html body.hms .hms-contact__title .hms-sc { font-size: calc(var(--hms-fs-h1-sc) * 1.15); line-height: 1.1; }
.hms-contact__lede { margin: 14px 0 0; max-width: 52ch; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.6; color: #3E3A55; }
.hms-contact__hours { display: inline-flex; align-items: center; gap: 10px; margin: 20px 0 0; padding: 10px 18px; border-radius: 999px; background: rgba(255, 255, 255, .8); box-shadow: inset 0 0 0 1.5px #F2D7B5; font-size: 14px; font-weight: 800; color: #13204A; }
.hms-contact__dot { width: 10px; height: 10px; border-radius: 50%; background: #16A34A; box-shadow: 0 0 0 4px rgba(22, 163, 74, .18); }

.hms-contact__art { position: relative; height: clamp(250px, 26vw, 360px); }
.hms-contact__arch { position: absolute; left: 50%; bottom: 0; width: min(300px, 76%); height: 94%; transform: translateX(-50%); border-radius: 999px 999px 24px 24px; background: linear-gradient(180deg, #13204A 0%, #2B3A6E 100%); box-shadow: inset 0 0 0 6px rgba(244, 199, 107, .55); }
.hms-contact__aunty { position: absolute; left: 50%; bottom: 0; width: min(250px, 64%); transform: translateX(-50%); }
.hms-contact__aunty svg { display: block; width: 100%; height: auto; }
.hms-contact__bubble { position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 18px; font-weight: 800; font-size: 14px; box-shadow: 0 4px 12px rgba(19, 32, 74, .1); }
.hms-contact__bubble--a { left: 0; top: 12%; background: #FFFFFF; color: #13204A; transform: rotate(-4deg); }
.hms-contact__bubble--a .hms-sc { font-size: clamp(20px, 1.8vw, 26px); color: #C0186A; }
.hms-contact__bubble--b { right: 0; top: 46%; background: #DCF8E6; color: #0E6B3A; border-bottom-right-radius: 4px; }
.hms-contact__typing { display: inline-flex; gap: 3px; }
.hms-contact__typing i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; animation: hmsCtType 1.2s ease-in-out infinite; }
.hms-contact__typing i:nth-child(2) { animation-delay: .2s; }
.hms-contact__typing i:nth-child(3) { animation-delay: .4s; }
@keyframes hmsCtType { 0%, 60%, 100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
.hms-contact__bloom { position: absolute; right: 8%; bottom: -6px; width: 58px; }
.hms-contact__bloom svg { display: block; width: 100%; height: auto; }
@media (prefers-reduced-motion: reduce) { .hms-contact__typing i { animation: none; opacity: .7; } }

/* ---- Three ways (overlap the hero) ------------------------------------ */
.hms-contact__ways { position: relative; z-index: 2; margin-top: clamp(-84px, -6vw, -64px); }
.hms-contact__waylist { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.hms-contact__way { position: relative; display: flex; flex-direction: column; padding: 24px; border-radius: 26px; box-shadow: 0 6px 18px rgba(19, 32, 74, .08); }
.hms-contact__way--wa { background: linear-gradient(160deg, #E4FAEC 0%, #BDEBD1 100%); --c: #0E6B3A; }
.hms-contact__way--call { background: linear-gradient(160deg, #FFF3D6 0%, #FFD58A 100%); --c: #8C4A06; }
.hms-contact__way--mail { background: linear-gradient(160deg, #FFE6EF 0%, #FFC3D9 100%); --c: #8E0E4B; }
.hms-contact__tag { position: absolute; top: 20px; right: 20px; padding: 4px 12px; border-radius: 999px; background: #13204A; color: #FFF8EE; font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.hms-contact__wico { width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: #FFFFFF; color: var(--c); margin-bottom: 14px; box-shadow: 0 2px 6px rgba(19, 32, 74, .06); }
body.hms .hms-contact__wh { margin: 0; font: 900 clamp(22px, 2vw, 28px)/1.15 var(--hms-serif); color: #13204A; }
.hms-contact__wv { margin: 6px 0 0; font-weight: 800; font-size: 17px; color: var(--c); -webkit-user-select: text; user-select: text; }
.hms-contact__wv--mail { font-size: 15px; overflow-wrap: anywhere; }
.hms-contact__wn { margin: 8px 0 18px; font-size: 15px; line-height: 1.55; color: #3E3A55; }
.hms .hms-contact__wbtn { margin-top: auto; align-self: flex-start; background: #13204A; color: #FFF8EE; box-shadow: 0 4px 10px rgba(19, 32, 74, .14); }

/* ---- Quick help (navy band) ------------------------------------------ */
.hms-contact__quick { background: radial-gradient(560px 380px at 92% 0%, rgba(255, 201, 74, .16), rgba(255, 201, 74, 0) 70%), linear-gradient(160deg, #1E2F6B 0%, #13204A 60%, #0B1433 100%); }
.hms-contact__quicklist { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.hms-contact__quicklist li { min-width: 0; }
.hms-contact__qcard, .hms a.hms-contact__qcard { height: 100%; box-sizing: border-box; display: flex; flex-direction: column; gap: 6px; padding: 22px; border-radius: 22px; text-decoration: none; color: #FFF8EE; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1.5px rgba(244, 199, 107, .3); transition: transform .2s ease, box-shadow .2s ease; }
.hms-contact__qico { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: #FFC94A; color: #13204A; margin-bottom: 6px; }
.hms-contact__qt { font: 800 19px/1.25 var(--hms-serif); color: #FFF8EE; }
.hms-contact__qd { font-size: 14px; line-height: 1.55; color: rgba(255, 248, 238, .78); }
.hms-contact__qgo { margin-top: auto; padding-top: 10px; display: inline-flex; align-items: center; gap: 6px; font-weight: 800; font-size: 14px; color: #FFC94A; }

/* ---- Form + side (lavender) ----------------------------------------- */
.hms-contact__formsec { background: linear-gradient(180deg, #F3ECFF 0%, #EADFFF 100%); scroll-margin-top: calc(var(--hms-head, 96px) + 12px); }
.hms-contact__form-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .9fr); gap: 20px; align-items: start; }
.hms-contact__formcard { padding: clamp(22px, 3vw, 36px); border-radius: 26px; background: #FFFFFF; box-shadow: 0 6px 18px rgba(19, 32, 74, .07); }
.hms-contact__formlede { margin: 10px 0 18px; color: #4A4460; font-size: 15px; }
.hms-contact__form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.hms-contact__form label { display: block; min-width: 0; }
.hms-contact__form label > span { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 800; color: #3E3A55; }
.hms-contact__form label em { font-style: normal; color: #C0186A; }
.hms-contact__form input, .hms-contact__form select, .hms-contact__form textarea { width: 100%; box-sizing: border-box; min-height: 50px; padding: 0 14px; border-radius: 14px; border: 1.5px solid #E2D9EE; background: #FBF8FF; font: 600 16px/1.3 var(--hms-sans); color: #13204A; -webkit-user-select: text; user-select: text; transition: border-color .2s ease, box-shadow .2s ease; }
.hms-contact__form select { appearance: none; -webkit-appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2313204A' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }
.hms-contact__form textarea { padding: 12px 14px; min-height: 130px; resize: vertical; }
.hms-contact__form input:focus, .hms-contact__form select:focus, .hms-contact__form textarea:focus { outline: none; border-color: #6D28D9; box-shadow: 0 0 0 4px rgba(109, 40, 217, .14); background: #FFFFFF; }
.hms-contact__wide { grid-column: 1 / -1; }
.hms-contact__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.hms-contact__note { margin: 0; font-size: 13px; color: #5A5670; }
.hms .hms-contact__note a { color: #6D28D9; text-decoration: underline; text-underline-offset: 3px; }
.hms-contact__send { justify-self: start; min-height: 52px; padding: 0 30px; }
.hms-contact__err { margin: 0 0 16px; padding: 12px 16px; border-radius: 14px; background: #FFE4E6; color: #9F1239; font-weight: 700; font-size: 14px; }
.hms-contact__ok { display: flex; gap: 14px; align-items: flex-start; margin-top: 16px; padding: 18px; border-radius: 18px; background: #E4FAEC; color: #0E5A31; }
.hms-contact__ok p { margin: 0; line-height: 1.6; }
.hms-contact__okico { flex: none; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: #16A34A; color: #FFFFFF; }

.hms-contact__side { display: flex; flex-direction: column; gap: 16px; }
.hms-contact__biz { padding: clamp(22px, 2.6vw, 30px); border-radius: 26px; background: linear-gradient(150deg, #8E0E4B 0%, #5E0B2F 100%); color: #FFF8EE; }
body.hms .hms-contact__h3 { margin: 0 0 14px; font: 800 clamp(20px, 1.8vw, 24px)/1.2 var(--hms-serif); color: #FFF8EE; }
body.hms .hms-contact__h3--ink { color: #13204A; }
.hms-contact__dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 16px; margin: 0; font-size: 15px; line-height: 1.5; -webkit-user-select: text; user-select: text; }
.hms-contact__dl dt { color: #FFC94A; font-weight: 700; }
.hms-contact__dl dd { margin: 0; overflow-wrap: anywhere; }
.hms .hms-contact__dl a { color: #FFF8EE; text-decoration: underline; text-underline-offset: 3px; }
.hms-contact__biz .hms-legal__fill { display: block; margin-top: 12px; background: rgba(255, 255, 255, .1); border-color: #F4C76B; color: #FFE38A; }

.hms-contact__mini { padding: clamp(20px, 2.4vw, 26px); border-radius: 26px; background: #FFFFFF; box-shadow: 0 6px 18px rgba(19, 32, 74, .06); }
.hms-contact__q { border-top: 1px solid #EEE6F7; }
.hms-contact__q summary { position: relative; list-style: none; cursor: pointer; padding: 14px 44px 14px 0; font-weight: 800; font-size: 15px; line-height: 1.4; color: #13204A; }
.hms-contact__q summary::-webkit-details-marker { display: none; }
.hms-contact__q summary::after { content: ""; position: absolute; right: 0; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 50%; background: linear-gradient(#FFFFFF, #FFFFFF) center / 11px 2.5px no-repeat, linear-gradient(#FFFFFF, #FFFFFF) center / 2.5px 11px no-repeat, #6D28D9; }
.hms-contact__q[open] summary::after { background: linear-gradient(#FFFFFF, #FFFFFF) center / 11px 2.5px no-repeat, #6D28D9; }
.hms-contact__q p { margin: 0 0 14px; font-size: 14px; line-height: 1.65; color: #3E3A55; -webkit-user-select: text; user-select: text; }

/* ---- Hover (fine pointers only): lift + soft shadow ------------------ */
@media (hover: hover) and (pointer: fine) {
	.hms .hms-contact__wbtn:hover { color: #FFF8EE; transform: translateY(-2px); box-shadow: 0 6px 14px rgba(19, 32, 74, .18); }
	.hms a.hms-contact__qcard:hover { color: #FFF8EE; transform: translateY(-2px); box-shadow: inset 0 0 0 1.5px rgba(244, 199, 107, .55), 0 6px 14px rgba(0, 0, 0, .18); }
	.hms .hms-contact__dl a:hover, .hms .hms-contact__note a:hover { color: inherit; }
}

/* ---- Tablet ---------------------------------------------------------- */
@media (max-width: 1023px) {
	.hms-contact__quicklist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hms-contact__form-grid { grid-template-columns: minmax(0, 1fr); }
	.hms-contact__side { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
}
@media (max-width: 899px) {
	.hms-contact__waylist { grid-template-columns: minmax(0, 1fr); }
	.hms-contact__way { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 16px; align-items: start; }
	.hms-contact__wico { grid-row: 1 / span 3; margin-bottom: 0; }
	.hms-contact__wn { margin-bottom: 14px; }
	.hms .hms-contact__wbtn { grid-column: 2; }
}

/* ---- Phone ----------------------------------------------------------- */
@media (max-width: 767px) {
	.hms-contact__hero-grid { grid-template-columns: minmax(0, 1fr); }
	.hms-contact__art { height: 230px; max-width: 360px; width: 100%; margin: 0 auto; }
	.hms-contact__side { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 599px) {
	.hms-contact__hero { padding-bottom: 96px; }
	.hms-contact__hours { font-size: 13px; padding: 9px 14px; }
	.hms-contact__way { padding: 20px; border-radius: 22px; }
	.hms-contact__wico { width: 46px; height: 46px; }
	.hms-contact__tag { top: 16px; right: 16px; }
	.hms .hms-contact__wbtn { grid-column: 1 / -1; width: 100%; }
	.hms-contact__quicklist { grid-template-columns: minmax(0, 1fr); }
	.hms-contact__qcard, .hms a.hms-contact__qcard { padding: 18px; }
	.hms-contact__form { grid-template-columns: minmax(0, 1fr); }
	.hms-contact__send { width: 100%; justify-self: stretch; }
	.hms-contact__dl { grid-template-columns: minmax(0, 1fr); gap: 2px; }
	.hms-contact__dl dd { margin-bottom: 8px; }
}
/* Room under the three cards before the navy band. */
.hms-contact__ways { padding-bottom: clamp(40px, 5vw, 64px); background: linear-gradient(180deg, transparent 0, transparent 84px, #FBF5EC 84px); }
@media (max-width: 599px) {
	.hms-contact__wv--mail { font-size: 14px; overflow-wrap: normal; }
	/* Quick help on phones: short rows (icon, title, link). */
	.hms-contact__qcard, .hms a.hms-contact__qcard { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 14px; row-gap: 2px; align-items: center; padding: 16px; }
	.hms-contact__qico { grid-row: 1 / span 2; margin: 0; width: 44px; height: 44px; }
	.hms-contact__qd { display: none; }
	.hms-contact__qgo { padding-top: 0; margin-top: 0; }
	.hms-contact__qt { font-size: 17px; }
	.hms-contact__quicklist { gap: 10px; }
}
