/* The closing portrait flows into one continuous contact/footer surface. */
.dentexa-site.mjm-second:has(.mjm-ending) { min-width: 0; }
.mjm-second[data-ending-visible] .mjm-visit-tab { visibility: hidden; pointer-events: none; }
.mjm-second[data-ending-visible] .mjm-grid-guides { opacity: 0; }
.mjm-second .mjm-ending {
  --mjm-sans: var(--font-interface), var(--font-dm-sans), sans-serif;
  position: relative; z-index: 21; isolation: isolate;
  padding: clamp(38px, 5.5vw, 106px) 2.25vw 30px;
  background: #282930; color: #eae8e8;
  scroll-margin-top: 110px;
}
.mjm-ending__top, .mjm-ending__directory { display: grid; grid-template-columns: 1fr 1.04fr; gap: 4vw; }
.mjm-ending__top > *, .mjm-ending__directory > * { min-width: 0; }
.mjm-second .mjm-ending h2 {
  max-width: 800px; margin: 0 0 clamp(44px, 5.5vw, 106px);
  font: 400 clamp(42px, 4.1vw, 80px)/.99 var(--font-ending-serif), Georgia, serif;
  letter-spacing: -.035em !important; color: inherit; text-wrap: pretty;
}
.mjm-second .mjm-ending h2 em { font-family: inherit; font-weight: 400; color: inherit; }
.mjm-second:not(.rtl) .mjm-ending h2 { font-family: var(--font-ending-serif), Georgia, serif !important; }
.mjm-second:not(.rtl) .mjm-ending h3 { font-family: var(--mjm-sans) !important; }
.mjm-ending__socials { display: flex; flex-wrap: wrap; align-items: flex-start; align-content: flex-start; gap: 14px; }
.mjm-ending__socials a {
  width: clamp(66px, 5.6vw, 108px); aspect-ratio: 1; display: grid; place-items: center;
  border-radius: 50%; background: #ffffff06; color: inherit; font-size: 24px;
  transition: background .3s, color .3s, transform .4s;
}
.mjm-ending__socials a:hover { background: #eae8e8; color: #282930; transform: translateY(-4px); }
.mjm-second .mjm-ending :is(a, button, input, textarea):focus-visible { outline: 2px solid #eae8e8; outline-offset: 5px; }
.mjm-second .mjm-ending fieldset { margin: 0 0 36px; padding: 0; border: 0; }
.mjm-second .mjm-ending legend { float: none; width: auto; margin: 0 0 14px; font-size: 16px; line-height: 1.5; color: #b5b4ba; }
.mjm-ending__locations > div { display: flex; flex-wrap: wrap; gap: 12px 30px; }
.mjm-ending__locations label { display: flex; align-items: center; position: relative; gap: 10px; min-height: 44px; cursor: pointer; font-size: clamp(16px, 1.1vw, 21px); }
.mjm-ending__locations input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.mjm-ending__locations input + span { width: 30px; height: 30px; border: 1px solid #ffffff29; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; }
.mjm-ending__locations input + span::after { content: ''; width: 16px; height: 16px; border-radius: 50%; background: #eae8e8; transform: scale(0); transition: transform .2s; }
.mjm-ending__locations input:checked + span::after { transform: scale(1); }
.mjm-ending__locations input:focus-visible + span { outline: 2px solid #eae8e8; outline-offset: 4px; }
.mjm-ending__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) clamp(64px, 5.6vw, 108px); gap: 12px; align-items: start; }
.mjm-ending__field { min-width: 0; }
.mjm-ending__field label { position: relative; display: block; margin: 0; }
.mjm-second .mjm-ending__field :is(input, textarea) {
  display: block; width: 100%; min-width: 0; height: clamp(68px, 4.6vw, 88px); box-sizing: border-box;
  margin: 0; padding: 25px 30px 10px; border: 1px solid #ffffff26 !important; border-radius: 60px !important;
  background: transparent !important; color: #eae8e8 !important; box-shadow: none; backdrop-filter: none;
  font: 400 clamp(16px, 1.05vw, 20px)/1.3 var(--mjm-sans); text-align: start;
  transition: border-color .3s;
}
.mjm-second .mjm-ending__field textarea { height: clamp(88px, 5.6vw, 108px); min-height: 88px; max-height: 240px; resize: vertical; border-radius: 38px !important; padding-top: 36px; padding-bottom: 16px; }
.mjm-ending__field label > span { position: absolute; inset-inline-start: 30px; top: 50%; transform: translateY(-50%); transform-origin: left top; color: #c3c2c7; font-size: clamp(16px, 1.05vw, 20px); line-height: 1.3; pointer-events: none; transition: top .2s, font-size .2s, transform .2s; }
.mjm-ending__field :is(input, textarea):is(:focus, :not(:placeholder-shown)) + span { top: 11px; transform: none; font-size: 12px; }
.mjm-second .mjm-ending__field :is(input, textarea):hover { border-color: #ffffff66 !important; }
.mjm-second .mjm-ending__field :is(input, textarea):focus { border-color: #eae8e8 !important; }
.mjm-second .mjm-ending__field [aria-invalid="true"] { border-color: #ffadb0 !important; }
.mjm-ending__field [aria-invalid="true"] + span { color: #ffadb0; }
.mjm-ending__field > p { margin: 8px 18px 0; font-size: 13px; line-height: 1.5; color: #ffadb0; }
.mjm-ending__message { grid-column: 1 / 3; }
@media (min-width: 1101px) {
  .mjm-ending__message { transition: margin-inline-end .45s cubic-bezier(.22, 1, .36, 1); }
  .mjm-ending__fields:has(.mjm-ending__send:is(:hover, :focus-visible):not(:disabled)) .mjm-ending__message { margin-inline-end: 85px; }
}
.mjm-second .mjm-ending__send {
  position: relative; grid-column: 3; grid-row: 2; justify-self: end;
  display: flex; align-items: center; justify-content: flex-end;
  height: clamp(64px, 5.6vw, 108px); width: clamp(64px, 5.6vw, 108px); padding: 0;
  background: #eae8e8 !important; color: #191a21 !important; border: 1px solid #eae8e8 !important; border-radius: 100px !important;
  box-shadow: none; backdrop-filter: none;
  font: 500 17px/1 var(--mjm-sans); cursor: pointer;
  transition: width .45s cubic-bezier(.22, 1, .36, 1), background .25s !important;
}
/* Override only the legacy submit-button skin, leaving responsive geometry free. */
.dentexa-site.mjm-second .mjm-ending .mjm-ending__send {
  background: #eae8e8 !important; color: #191a21 !important; border: 1px solid #eae8e8 !important; border-radius: 100px !important;
  transition: width .45s cubic-bezier(.22, 1, .36, 1), background .25s !important;
}
.mjm-ending__send > span { opacity: 0; transform: translateX(10px); transition: opacity .2s, transform .3s; white-space: nowrap; padding-inline-start: 24px; }
.mjm-ending__send > svg { flex-shrink: 0; width: clamp(64px, 5.6vw, 108px); height: 26px; }
.mjm-ending__send:is(:hover, :focus-visible):not(:disabled) { width: calc(clamp(64px, 5.6vw, 108px) + 85px); }
.mjm-ending__send:is(:hover, :focus-visible):not(:disabled) > span { opacity: 1; transform: none; }
.mjm-ending__send:disabled { cursor: wait; }
.mjm-ending__spinner { animation: mjm-ending-spin 1.3s linear infinite; }
@keyframes mjm-ending-spin { to { transform: rotate(360deg); } }
.mjm-ending__status { min-height: 50px; padding-top: 14px; }
.mjm-ending__status p { display: flex; align-items: flex-start; gap: 10px; font-size: 16px; line-height: 1.5; color: inherit; margin: 0; }
.mjm-ending__status svg { flex-shrink: 0; margin-top: 2px; }
.mjm-ending__status .mjm-ending__error { color: #ffadb0; }
.mjm-ending__directory { margin-top: clamp(64px, 8vw, 160px); padding-bottom: clamp(60px, 7vw, 130px); }
.mjm-ending__navigation, .mjm-ending__clinics { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.mjm-second .mjm-ending h3 { margin: 0 0 22px; font: 500 16px/1.4 var(--mjm-sans); color: #b5b4ba; }
.mjm-ending__directory :is(a, p) { font-size: clamp(16px, 1.05vw, 20px); line-height: 1.6; color: inherit; }
.mjm-ending__directory a { display: block; width: fit-content; margin-bottom: 8px; text-decoration: none; }
.mjm-ending__directory a:hover, .mjm-ending__base a:hover { text-decoration: underline; text-underline-offset: 5px; }
.mjm-ending__clinics p { margin: 0 0 22px; max-width: 340px; }
.mjm-ending__directory .mjm-ending__map { display: flex; align-items: center; gap: 12px; font-size: 14px; margin-top: 24px; }
.mjm-ending__map svg { flex-shrink: 0; }
.mjm-ending__base { display: flex; flex-wrap: wrap; gap: 16px 36px; align-items: center; border-top: 1px solid #ffffff20; padding-top: 24px; padding-inline-end: 140px; }
.mjm-ending__base :is(p, a, button) { color: #c3c2c7; font-size: 13px; line-height: 1.5; margin: 0; }
.mjm-ending__base p { margin-inline-end: auto; }
.mjm-ending__base button { display: flex; align-items: center; gap: 14px; min-height: 44px; background: transparent; cursor: pointer; }
.mjm-second.rtl .mjm-ending h2 { font-family: var(--mjm-sans); font-size: clamp(34px, 3.5vw, 66px); line-height: 1.4; letter-spacing: 0 !important; }
.mjm-second.rtl .mjm-ending h2 em { font-style: normal; }
.mjm-second.rtl .mjm-ending legend { font-family: var(--font-noto-arabic), sans-serif; }
.mjm-second.rtl .mjm-ending__send > svg { scale: -1 1; }
@media (max-width: 1100px) {
  .mjm-second .mjm-ending { padding-inline: 32px; }
  .mjm-ending__top, .mjm-ending__directory { grid-template-columns: .6fr 1fr; gap: 35px; }
  .mjm-ending__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mjm-ending__send { grid-column: 2 !important; grid-row: 3 !important; }
  .mjm-ending__message { grid-column: 1 / -1; }
  .mjm-ending__navigation { grid-template-columns: 1fr; gap: 30px; }
  .mjm-ending__directory { margin-top: 70px; }
  .mjm-second .mjm-ending__field :is(input, textarea) { padding-inline: 24px; }
  .mjm-ending__field label > span { inset-inline-start: 24px; }
}
@media (max-width: 760px) {
  .mjm-second .mjm-ending { padding: 38px 22px 28px; scroll-margin-top: 88px; }
  .mjm-ending__top, .mjm-ending__directory { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .mjm-ending__contact { grid-row: 1; }
  .mjm-second .mjm-ending h2 { font-size: clamp(42px, 9vw, 64px); margin-bottom: 40px; }
  .mjm-ending__socials { gap: 12px; }
  .mjm-ending__socials a { width: 60px; font-size: 22px; }
  .mjm-ending__fields { gap: 12px; }
  .mjm-ending__field { grid-column: 1 / -1; }
  .mjm-ending__send { grid-row: 4 !important; }
  .mjm-second .mjm-ending__send { width: 140px; gap: 12px; justify-content: center; padding-inline: 18px; }
  .mjm-ending__send > span { opacity: 1; transform: none; padding: 0; }
  .mjm-ending__send > svg { width: 26px; }
  .mjm-ending__send:is(:hover, :focus-visible):not(:disabled) { width: 140px; }
  .mjm-ending__directory { margin-top: 52px; padding-bottom: 42px; }
  .mjm-ending__navigation { grid-template-columns: 1fr 1fr; gap: 22px; }
  .mjm-ending__clinics { gap: 32px; grid-template-columns: 1fr 1fr; }
  .mjm-ending__directory h3 { margin-bottom: 15px; }
  .mjm-ending__directory .mjm-ending__map { align-items: flex-start; }
  .mjm-ending__base { column-gap: 22px; padding-inline-end: 0; padding-bottom: 58px; }
  .mjm-ending__base p { flex-basis: 100%; }
  .mjm-second.rtl .mjm-ending h2 { font-size: clamp(34px, 7.5vw, 52px); }
}
@media (max-width: 400px) {
  .mjm-ending__clinics { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .mjm-ending *, .mjm-ending *::after { transition: none !important; animation: none !important; }
  .dentexa-site.mjm-second .mjm-ending .mjm-ending__send { transition: none !important; }
}

/* The About page continues its white content surface through the footer. */
.mjm-second .mjm-ending--light { background: #fff; color: #303738; text-align: start; border-top: 1px solid #eee7e5; padding-inline: max(24px, calc((100% - 1200px) / 2)); }
.mjm-ending--light .mjm-ending__socials a { background: #f8f1f1; color: #935b5f; }
.mjm-ending--light .mjm-ending__socials a:hover { background: #935b5f; color: #fff; }
.mjm-second .mjm-ending--light :is(h3, legend), .mjm-ending--light .mjm-ending__field label > span, .mjm-ending--light .mjm-ending__base :is(p, a, button) { color: #606566; }
.mjm-second .mjm-ending--light .mjm-ending__field :is(input, textarea) { color: #303738 !important; border-color: #d9cecc !important; border-radius: 6px !important; }
.mjm-second .mjm-ending--light .mjm-ending__field :is(input, textarea):is(:hover, :focus) { border-color: #935b5f !important; }
.mjm-ending--light .mjm-ending__locations input + span { border-color: #b9a6a6; }
.mjm-ending--light .mjm-ending__locations input + span::after { background: #935b5f; }
.mjm-ending--light .mjm-ending__base { border-color: #eee7e5; }
.dentexa-site.mjm-second .mjm-ending--light .mjm-ending__send { background: #935b5f !important; border-color: #935b5f !important; color: #fff !important; }
.mjm-second .mjm-ending--light :is(a, button, input, textarea):focus-visible, .mjm-ending--light .mjm-ending__locations input:focus-visible + span { outline-color: #935b5f; }
.mjm-second .mjm-ending--light .mjm-ending__field [aria-invalid="true"] { border-color: #ae3342 !important; }
.mjm-ending--light .mjm-ending__field [aria-invalid="true"] + span, .mjm-ending--light .mjm-ending__field > p, .mjm-ending--light .mjm-ending__status .mjm-ending__error { color: #ae3342; }
@media (max-width: 700px) {
  .mjm-second .mjm-ending--light { padding-inline: 22px; }
}
