#pm-contact-page {
	background: #f8fbff;
	color: #0b2354;
	font-size: 16px;
	line-height: 1.55;
}

#pm-contact-page * { box-sizing: border-box; }
#pm-contact-page a { text-decoration: none; }
#pm-contact-page .pm-contact-container { width: min(1140px, calc(100% - 40px)); margin-inline: auto; }

#pm-contact-page .pm-contact-hero {
	min-height: 220px;
	display: flex;
	align-items: center;
	background: #e3f2ff url('../images/medicine-hero-stethoscope.jpg') center right / cover no-repeat;
}

#pm-contact-page .pm-contact-hero .pm-contact-container { padding-block: 28px 31px; }
#pm-contact-page .pm-contact-breadcrumb { margin: 0 0 9px; font-size: 14px; }
#pm-contact-page .pm-contact-breadcrumb a { color: #135eb2; }
#pm-contact-page .pm-contact-breadcrumb span { padding-inline: 9px; color: #52749a; }
#pm-contact-page .pm-contact-hero h1 { margin: 0 0 7px; color: #0a2864; font-size: clamp(34px, 4vw, 47px); line-height: 1.12; letter-spacing: -.035em; }
#pm-contact-page .pm-contact-hero p:last-child { max-width: 650px; margin: 0; color: #17315b; font-size: 16px; }

#pm-contact-page .pm-contact-content { padding-block: 38px 48px; }
#pm-contact-page .pm-contact-grid { display: grid; grid-template-columns: minmax(0, 36fr) minmax(0, 64fr); gap: 28px; align-items: stretch; }
#pm-contact-page .pm-contact-info,
#pm-contact-page .pm-contact-form-card { border: 1px solid #dbe8f5; border-radius: 15px; box-shadow: 0 7px 22px rgba(24, 64, 109, .09); padding: 26px; }
#pm-contact-page .pm-contact-info { position: relative; overflow: hidden; background: linear-gradient(155deg, #f0f8ff 0%, #e6f3ff 100%); }
#pm-contact-page .pm-contact-form-card { background: #fff; }
#pm-contact-page .pm-contact-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 18px; }
#pm-contact-page .pm-contact-heading__icon { width: 42px; height: 42px; flex: none; display: grid; place-items: center; border-radius: 12px; background: #e3f1ff; color: #0877ec; font-size: 25px; line-height: 1; }
#pm-contact-page .pm-contact-form-card .pm-contact-heading__icon,
#pm-contact-page .pm-contact-detail--email .pm-contact-detail__icon { background-image: url('../icons/contact-mail.svg'); background-position: center; background-repeat: no-repeat; background-size: 25px; font-size: 0; }
#pm-contact-page .pm-contact-heading h2 { position: relative; margin: 0; padding-bottom: 10px; color: #09275e; font-size: clamp(23px, 2.2vw, 29px); line-height: 1.18; letter-spacing: -.025em; }
#pm-contact-page .pm-contact-heading h2::after { content: ''; position: absolute; left: 0; bottom: 0; width: 45px; height: 3px; border-radius: 3px; background: #1686f6; }
#pm-contact-page .pm-contact-intro { margin: 0 0 24px; }

#pm-contact-page .pm-contact-detail { display: flex; align-items: flex-start; gap: 14px; margin: 0 0 22px; }
#pm-contact-page .pm-contact-detail__icon { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 50%; background: #fff; color: #0877ec; font-size: 23px; line-height: 1; box-shadow: 0 2px 9px rgba(18, 86, 151, .06); }
#pm-contact-page .pm-contact-detail h3,
#pm-contact-page .pm-contact-reasons h3 { margin: 1px 0 2px; color: #0b2455; font-size: 16px; line-height: 1.3; }
#pm-contact-page .pm-contact-detail p { margin: 0; color: #294263; font-size: 14px; }
#pm-contact-page .pm-contact-detail a { color: #075ecb; overflow-wrap: anywhere; }
#pm-contact-page .pm-contact-detail a:hover { text-decoration: underline; }
#pm-contact-page .pm-contact-reasons { position: relative; padding: 18px 20px; border: 1px solid #d2e7fa; border-radius: 11px; background: rgba(255,255,255,.65); }
#pm-contact-page .pm-contact-reasons h3 { margin-bottom: 9px; }
#pm-contact-page .pm-contact-reasons ul { margin: 0; padding-left: 18px; color: #294263; font-size: 14px; }
#pm-contact-page .pm-contact-reasons li + li { margin-top: 5px; }

#pm-contact-page .pm-contact-form-card > p { margin: 0 0 24px; color: #294263; }
#pm-contact-page .wpcf7 { width: 100%; }
#pm-contact-page .wpcf7 form p { margin: 0 0 17px; }
#pm-contact-page .wpcf7 label { display: block; color: #0b2455; font-size: 14px; font-weight: 700; }
#pm-contact-page .wpcf7 label > br { display: none; }
#pm-contact-page .wpcf7-form-control-wrap { display: block; margin-top: 7px; }
#pm-contact-page .wpcf7 input[type="text"],
#pm-contact-page .wpcf7 input[type="email"],
#pm-contact-page .wpcf7 textarea { display: block; width: 100%; max-width: 100%; margin: 0; padding: 12px 15px; border: 1px solid #b9cbe0; border-radius: 9px; background: #fff; color: #0b2455; font: inherit; font-size: 15px; box-shadow: none; transition: border-color .16s, box-shadow .16s; }
#pm-contact-page .wpcf7 input[type="text"],
#pm-contact-page .wpcf7 input[type="email"] { min-height: 48px; }
#pm-contact-page .wpcf7 textarea { height: 150px; min-height: 140px; resize: vertical; }
#pm-contact-page .wpcf7 input::placeholder,
#pm-contact-page .wpcf7 textarea::placeholder { color: #61748d; opacity: 1; }
#pm-contact-page .wpcf7 input:focus,
#pm-contact-page .wpcf7 textarea:focus { outline: none; border-color: #1379ed; box-shadow: 0 0 0 3px rgba(19,121,237,.14); }
#pm-contact-page .wpcf7 input[aria-invalid="true"],
#pm-contact-page .wpcf7 textarea[aria-invalid="true"] { border-color: #c83e4d; }
#pm-contact-page .wpcf7-not-valid-tip { margin-top: 5px; color: #a52737; font-size: 13px; }
#pm-contact-page .wpcf7 input[type="submit"] { min-height: 48px; padding: 11px 26px; border: 0; border-radius: 9px; background: #0866e9; color: #fff; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; transition: background .16s, transform .16s; }
#pm-contact-page .wpcf7 input[type="submit"]:hover { background: #054fb8; transform: translateY(-1px); }
#pm-contact-page .wpcf7 input[type="submit"]:focus-visible { outline: 3px solid #86b9ff; outline-offset: 2px; }
#pm-contact-page .wpcf7 form .wpcf7-response-output { margin: 18px 0 0; padding: 12px 15px; border-radius: 8px; font-size: 14px; }

#pm-contact-page .pm-contact-notice { display: flex; align-items: flex-start; gap: 18px; margin-top: 32px; padding: 20px 24px; border-radius: 14px; background: #e7f3ff; }
#pm-contact-page .pm-contact-notice__icon { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border: 2px solid #1686f6; border-radius: 50%; color: #0877ec; font-size: 26px; font-weight: 700; font-style: normal; line-height: 1; }
#pm-contact-page .pm-contact-notice h2 { margin: 0 0 4px; color: #09275e; font-size: 20px; line-height: 1.25; }
#pm-contact-page .pm-contact-notice p { margin: 0; color: #294263; font-size: 14px; }
#pm-contact-page .pm-contact-notice p + p { margin-top: 7px; }

@media (max-width: 900px) {
	#pm-contact-page .pm-contact-grid { grid-template-columns: minmax(0, 39fr) minmax(0, 61fr); gap: 18px; }
	#pm-contact-page .pm-contact-info,
	#pm-contact-page .pm-contact-form-card { padding: 22px; }
	#pm-contact-page .pm-contact-hero p:last-child { max-width: 540px; }
}

@media (max-width: 690px) {
	#pm-contact-page .pm-contact-container { width: min(100% - 32px, 1140px); }
	#pm-contact-page .pm-contact-hero { min-height: 0; background-image: linear-gradient(90deg, rgba(232,245,255,.97), rgba(232,245,255,.84)), url('../images/medicine-hero-stethoscope.jpg'); background-position: center; }
	#pm-contact-page .pm-contact-hero .pm-contact-container { padding-block: 28px 32px; }
	#pm-contact-page .pm-contact-hero p:last-child { max-width: 100%; font-size: 14px; }
	#pm-contact-page .pm-contact-content { padding-block: 24px 32px; }
	#pm-contact-page .pm-contact-grid { grid-template-columns: 1fr; gap: 20px; }
	#pm-contact-page .pm-contact-info,
	#pm-contact-page .pm-contact-form-card { padding: 21px; }
	#pm-contact-page .wpcf7 input[type="submit"] { width: 100%; }
	#pm-contact-page .pm-contact-notice { padding: 18px; gap: 12px; margin-top: 22px; }
}
