.medical-heading { padding-top: 34px; padding-bottom: 26px; align-items: start; }
.medical-heading h1 { font-size: clamp(30px,3.1vw,43px); max-width: 790px; }
.medical-heading h1 span { color: #267252; }
.medical-heading .eyebrow { color: #31684e; }
.medical-heading .inquiry-change-link { margin-top: 16px; }
.medical-urgent-inline { font-size: 12px; line-height: 1.75; color: #644d29; margin-top: 0; margin-bottom: 20px; }
.medical-urgent-inline a { color: inherit; display: inline-flex; align-items: center; min-height: 26px; min-width: 28px; font-weight: 700; }
.medical-compose { gap: 30px; }
.medical-form { padding-top: 24px; border-radius: 16px; box-shadow: 0 5px 20px #15375205; }
.medical-local-fields { padding: 0; margin: 0; border: 0; min-width: 0; }
.medical-form .form-field :is(input,select,textarea) { width: 100%; }
.medical-form .optional { font-size: 11px; font-weight: 400; color: #51667a; }
.medical-form .text-button { border: 0; background: none; padding: 3px 0; color: #315779; text-decoration: underline; text-underline-offset: 3px; font: inherit; font-size: 12px; cursor: pointer; }
.medical-form .inquiry-progress { gap: 13px; }
.medical-form .inquiry-progress li[aria-current] { color: #226242; }
.medical-form .inquiry-progress li[aria-current] > span { background: #267252; }
.medical-note { padding-top: 26px; }
.medical-note h2,.medical-contact h2 { font-size: clamp(21px,2vw,26px); line-height: 1.25; }
.medical-form .step-description { line-height: 1.75; color: #475f73; margin-bottom: 20px; }
.medical-privacy { display: flex; align-items: start; gap: 10px; padding: 14px 16px; background: #edf5f0; border-radius: 8px; color: #2c5741; margin: 0 0 22px; }
.medical-privacy svg { flex-shrink: 0; margin-top: 2px; }
.medical-privacy p { margin: 0; font-size: 12px; line-height: 1.65; }
.medical-privacy strong { display: block; margin-bottom: 3px; }
.medical-purpose { display: flex; flex-wrap: wrap; gap: 9px; border: 0; padding: 0; margin: 0 0 24px; min-width: 0; }
.medical-purpose legend { width: 100%; font-size: 14px; line-height: 1.7; font-weight: 600; color: #213b55; margin-bottom: 10px; }
.medical-purpose button { display: inline-flex; align-items: center; justify-content: center; border: 1px solid #b7c8bf; border-radius: 8px; padding: 10px 13px; min-height: 44px; background: white; color: #2c5240; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.medical-purpose button:hover { background: #f0f6f2; border-color: #507e61; }
.medical-purpose button[aria-pressed=true] { background: #e5f2e9; color: #194b31; border-color: #2c7150; box-shadow: inset 0 0 0 1px #2c7150; }
.medical-purpose button[aria-pressed=true]::before { content: '✓'; display: inline-block; margin-right: 7px; }
.medical-note .form-field label { font-size: 15px; line-height: 1.55; }
.medical-note input:not([type=hidden]),.medical-note select { min-height: 47px; font-size: 14px; }
.medical-note input::placeholder,.medical-note textarea::placeholder { color: #5b6f80; opacity: 1; }
.medical-note-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.medical-note-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; padding: 19px 0 5px; border-top: 1px solid #dce5e1; }
.medical-note-tools .button { font-size: 13px; }
.medical-note-tools .text-button { font-size: 12px; min-height: 44px; }
.medical-note-tools p { flex-basis: 100%; font-size: 12px; line-height: 1.7; color: #4f6758; margin: 4px 0 8px; min-height: 21px; }
.medical-checklist a { font-size: 12px; min-height: 44px; display: inline-flex; align-items: center; }
.medical-contact { padding-top: 4px; }
.medical-kicker { font-size: 10px; letter-spacing: .09em; font-weight: 700; color: #34624c; }
.medical-note-recall { display: flex; gap: 10px; background: #f2f6f4; padding: 15px; border-radius: 8px; font-size: 12px; line-height: 1.7; margin-bottom: 24px; }
.medical-note-recall svg { flex-shrink: 0; }
.medical-note-recall p { font-size: 12px; margin: 6px 0; }
.medical-note-recall button { font-size: 12px; min-height: 44px; }
.medical-office-questions { margin-top: 30px; }
.medical-office-questions legend { line-height: 1.65; }
.medical-office-questions > p { font-size: 12px; line-height: 1.7; color: #4e6475; }
.medical-contact-footnote { font-size: 11px; color: #506777; line-height: 1.75; margin: 0 0 24px; }
.medical-guidance { padding: 24px 4px 10px; }
.medical-guidance h2 { font-size: 25px; line-height: 1.28; letter-spacing: -.03em; color: #254b3c; margin: 0 0 14px; }
.medical-guidance p { font-size: 13px; line-height: 1.8; color: #4c6559; }
.medical-guidance ul { list-style: none; padding: 0; margin: 20px 0 0; }
.medical-guidance li { display: flex; gap: 10px; font-size: 12px; line-height: 1.7; margin: 0 0 18px; color: #485f6c; }
.medical-guidance li svg { flex-shrink: 0; color: #3f7253; margin-top: 2px; }
.medical-emergency { padding: 17px; background: #fff9ef; border: 1px solid #e3d9c8; border-radius: 9px; font-size: 12px; line-height: 1.75; color: #63491f; }
.medical-emergency strong { display: block; }
.medical-emergency p { margin: 6px 0; font-size: 12px; }
.medical-emergency a { color: #63491f; text-underline-offset: 3px; }
.medical-emergency p a { display: inline-flex; align-items: center; min-height: 26px; padding-inline: 2px; font-weight: 700; }
.medical-emergency > a { display: block; font-size: 11px; margin-top: 8px; }
.medical-form [hidden] { display: none !important; }
.medical-form button:focus-visible,.medical-form input:focus-visible,.medical-form textarea:focus-visible,.medical-form select:focus-visible { outline: 3px solid #2259b0; outline-offset: 3px; }
@media(max-width:1023px) { .medical-aside { position: static; } .medical-compose { gap: 24px; } }
@media(max-width:767px) { .medical-heading { padding-top: 25px; padding-bottom: 20px; gap: 10px; } .medical-heading h1 { font-size: 30px; } .medical-heading p:not(.eyebrow) { font-size: 13px; } .medical-heading .inquiry-change-link { margin: 0; } .medical-form { padding: 20px 19px 0; } .medical-note { padding-top: 22px; } .medical-form .inquiry-progress { gap: 6px; } .medical-form .inquiry-progress li { font-size: 10px; gap: 5px; } .medical-form .inquiry-progress li > span { width: 23px; height: 23px; } .medical-purpose { gap: 8px; } .medical-purpose button { font-size: 12px; padding: 9px 11px; flex-grow: 1; } .medical-note-grid { grid-template-columns: 1fr; gap: 0; } .medical-note-tools { align-items: start; } .medical-note-tools .button { width: 100%; } .medical-privacy { padding: 12px; } .medical-aside .inquiry-profession-card,.medical-guidance { display: none; } .medical-contact .inquiry-form-actions .button { text-align: center; } }
@media(max-width:359px) { .medical-form { padding-inline: 14px; } .medical-form .inquiry-progress li { flex-direction: column; text-align: center; gap: 7px; } .medical-purpose button { width: 100%; justify-content: start; } }
@media(max-width:767px) { .medical-form .form-field :is(input,select,textarea) { font-size: 16px; } }
@media(prefers-reduced-motion:reduce) { .medical-compose *, .medical-compose *::before { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
