
/* Codex responsive fixes for tile-ma-center.jp - 2026-07-05 */
@media (max-width: 760px) {
  .p-breadcrumb__list {
    box-sizing: border-box !important;
    flex-wrap: wrap !important;
    max-width: 100% !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  .p-breadcrumb__item {
    box-sizing: border-box !important;
    flex: 0 1 auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
  }

  .p-breadcrumb__item:last-child {
    flex: 1 1 100% !important;
    margin-top: 4px !important;
  }

  .p-breadcrumb__text {
    display: inline !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
    word-break: break-word !important;
  }
}


/* White-base visual system - Codex 2026-08-23 */
html,
body,
body #body_wrap,
body .l-container,
body .l-content {
  background-color: #ffffff !important;
}

body .tmc-global-header,
body .tmc-global-main,
body #header.l-header,
body .l-header {
  background: #ffffff !important;
}

body .tmc-global-main {
  border-bottom: 1px solid #dbe7e5 !important;
  box-shadow: 0 6px 18px rgba(6, 25, 39, .05) !important;
}

body .tmc-global-logo,
body .tmc-global-logo img {
  background: #ffffff !important;
  box-shadow: none !important;
  filter: none !important;
}

body .tmc-exec-home {
  background: #ffffff !important;
}

body .tmc-exec-home .tmc-exec-hero {
  background: #ffffff !important;
  background-image: none !important;
}

body .tmc-exec-home .tmc-exec-section--soft {
  background: #f8fbfa !important;
  background-image: none !important;
}

body .tmc-exec-home .tmc-exec-final {
  background: #ffffff !important;
}

html body .tmc-site,
html body .tmc-legal-site {
  background: #ffffff !important;
}

html body .tmc-site .tmc-page-hero,
html body .tmc-legal-site .tmc-page-hero {
  background: #ffffff !important;
  background-image: none !important;
}

html body .tmc-site .tmc-page-hero::before,
html body .tmc-legal-site .tmc-page-hero::before {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, .99) 0%,
    rgba(255, 255, 255, .99) 72%,
    rgba(244, 249, 248, .92) 100%
  ) !important;
  opacity: 1 !important;
}


/* Logo-palette CTA and white footer - Codex 2026-08-23 */
html body a.tmc-global-cta.tmc-global-cta--seller,
html body a.tmc-exec-btn.tmc-exec-btn--primary,
html body .tmc-site a.tmc-btn.tmc-btn--copper,
html body .tmc-global-mobilebar a:last-child {
  background: linear-gradient(180deg, #0b6268 0%, #074b51 100%) #074b51 !important;
  background-color: #074b51 !important;
  border-color: #074b51 !important;
  box-shadow: 0 10px 22px rgba(7, 75, 81, .20) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html body a.tmc-global-cta.tmc-global-cta--seller:hover,
html body a.tmc-global-cta.tmc-global-cta--seller:focus-visible,
html body a.tmc-exec-btn.tmc-exec-btn--primary:hover,
html body a.tmc-exec-btn.tmc-exec-btn--primary:focus-visible,
html body .tmc-site a.tmc-btn.tmc-btn--copper:hover,
html body .tmc-site a.tmc-btn.tmc-btn--copper:focus-visible,
html body .tmc-global-mobilebar a:last-child:hover,
html body .tmc-global-mobilebar a:last-child:focus-visible {
  background: linear-gradient(180deg, #07555b 0%, #053a3f 100%) #053a3f !important;
  border-color: #053a3f !important;
  color: #ffffff !important;
}

html body .tmc-global-footer {
  background: #ffffff !important;
  background-image: none !important;
  border-top: 1px solid #dbe7e5 !important;
  color: #061927 !important;
}

html body .tmc-global-footer::before {
  height: 4px !important;
  background: linear-gradient(90deg, #0b6268, #78aaa7, #c6924f) !important;
}

html body .tmc-global-footer::after {
  opacity: .12 !important;
}

html body .tmc-global-footer__trust {
  background: #f8fbfa !important;
  border-color: #dbe7e5 !important;
  color: #061927 !important;
}

html body .tmc-global-footer__trust li {
  background: #ffffff !important;
  border-color: #dbe7e5 !important;
  box-shadow: none !important;
  color: #061927 !important;
}

html body .tmc-global-footer__main,
html body .tmc-global-footer__main > section,
html body .tmc-global-footer__bottom {
  color: #061927 !important;
}

html body .tmc-global-footer__brand {
  background: #ffffff !important;
  border: 1px solid #dbe7e5 !important;
  box-shadow: none !important;
}

html body .tmc-global-footer__logo,
html body .tmc-global-footer__logo img {
  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

html body .tmc-global-footer :where(h2, h3, p, address, strong) {
  color: #061927 !important;
}

html body .tmc-global-footer a {
  color: #0b6268 !important;
  -webkit-text-fill-color: #0b6268 !important;
}

html body .tmc-global-footer__main h3,
html body .tmc-global-footer__brand address,
html body .tmc-global-footer__bottom {
  border-color: #dbe7e5 !important;
}

html body .tmc-global-footer__bottom p:first-child {
  background: #f8fbfa !important;
  border-color: #dbe7e5 !important;
  color: #061927 !important;
}

@media (max-width: 959px) {
  html body {
    padding-bottom: 84px !important;
  }

  html body .tmc-global-mobilebar {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    z-index: 9995 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    background: rgba(6, 25, 39, .96) !important;
  }
}


/* Specificity guard for logo-color primary actions */
html body .tmc-global-header a.tmc-global-cta.tmc-global-cta--seller,
html body .tmc-exec-home a.tmc-exec-btn.tmc-exec-btn--primary,
html body .tmc-site.tmc-site a.tmc-btn.tmc-btn--copper,
html body .tmc-global-mobilebar.tmc-global-mobilebar a:last-child {
  background: linear-gradient(180deg, #0b6268 0%, #074b51 100%) #074b51 !important;
  background-color: #074b51 !important;
  background-image: linear-gradient(180deg, #0b6268 0%, #074b51 100%) !important;
  border-color: #074b51 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html body .tmc-global-header a.tmc-global-cta.tmc-global-cta--seller:hover,
html body .tmc-global-header a.tmc-global-cta.tmc-global-cta--seller:focus-visible,
html body .tmc-exec-home a.tmc-exec-btn.tmc-exec-btn--primary:hover,
html body .tmc-exec-home a.tmc-exec-btn.tmc-exec-btn--primary:focus-visible,
html body .tmc-site.tmc-site a.tmc-btn.tmc-btn--copper:hover,
html body .tmc-site.tmc-site a.tmc-btn.tmc-btn--copper:focus-visible,
html body .tmc-global-mobilebar.tmc-global-mobilebar a:last-child:hover,
html body .tmc-global-mobilebar.tmc-global-mobilebar a:last-child:focus-visible {
  background: linear-gradient(180deg, #07555b 0%, #053a3f 100%) #053a3f !important;
  background-color: #053a3f !important;
  background-image: linear-gradient(180deg, #07555b 0%, #053a3f 100%) !important;
  border-color: #053a3f !important;
}


/* Specificity guard for white footer */
html body footer.tmc-global-footer.tmc-global-footer {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: #061927 !important;
}

html body footer.tmc-global-footer.tmc-global-footer::before {
  height: 4px !important;
  background: linear-gradient(90deg, #0b6268, #78aaa7, #c6924f) !important;
}

html body footer.tmc-global-footer.tmc-global-footer::after {
  opacity: .08 !important;
  border-color: rgba(11, 98, 104, .12) !important;
}

html body footer.tmc-global-footer.tmc-global-footer .tmc-global-footer__brand {
  background: #ffffff !important;
  background-image: none !important;
  border-color: #dbe7e5 !important;
  box-shadow: none !important;
}

html body footer.tmc-global-footer.tmc-global-footer .tmc-global-footer__logo,
html body footer.tmc-global-footer.tmc-global-footer .tmc-global-footer__logo img {
  background: #ffffff !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

html body footer.tmc-global-footer.tmc-global-footer :where(
  h1, h2, h3, h4, p, li, span, strong, small, address
) {
  color: #061927 !important;
  -webkit-text-fill-color: #061927 !important;
  text-shadow: none !important;
}

html body footer.tmc-global-footer.tmc-global-footer a,
html body footer.tmc-global-footer.tmc-global-footer a * {
  color: #0b6268 !important;
  -webkit-text-fill-color: #0b6268 !important;
}

html body footer.tmc-global-footer.tmc-global-footer h2,
html body footer.tmc-global-footer.tmc-global-footer h3,
html body footer.tmc-global-footer.tmc-global-footer address,
html body footer.tmc-global-footer.tmc-global-footer .tmc-global-footer__bottom {
  border-color: #dbe7e5 !important;
}

html body footer.tmc-global-footer.tmc-global-footer li a:hover,
html body footer.tmc-global-footer.tmc-global-footer li a:focus-visible {
  background: #f4f9f8 !important;
  color: #074b51 !important;
}

html body footer.tmc-global-footer.tmc-global-footer .tmc-global-footer__bottom p:first-child {
  background: #f8fbfa !important;
  border-color: #dbe7e5 !important;
  color: #061927 !important;
  -webkit-text-fill-color: #061927 !important;
}


/* Final pure-white canvas guard */
html:root body,
html:root body #body_wrap,
html:root body .l-container,
html:root body .l-content {
  background: #ffffff !important;
  background-color: #ffffff !important;
}


/* Clean category archive headings */
#body_wrap:not(.id_701):not(.id_703) .c-pageTitle .c-pageTitle__subTitle {
  display: none !important;
}

/* Tile public QA fixes — 2026-08-23
 * Protected review drafts are explicitly excluded.
 */

/* Readable office labels on the two public company-information pages. */
#body_wrap:not(.id_701):not(.id_703) .tmc-table strong[style*="#0D8A96" i] {
  color: #0b6268 !important;
  -webkit-text-fill-color: #0b6268 !important;
}

/* Public article and archive controls. */
#body_wrap:not(.id_701):not(.id_703) .p-toc__expandBtn,
#body_wrap:not(.id_701):not(.id_703) .c-shareBtns.-bottom .c-shareBtns__btn,
#body_wrap:not(.id_701):not(.id_703) .c-shareBtns.-fix .c-shareBtns__btn,
#body_wrap:not(.id_701):not(.id_703) .c-pagination a.page-numbers {
  min-width: 44px !important;
  min-height: 44px !important;
  box-sizing: border-box;
}

/* Public desktop navigation and shared footer links. */
body:not(:has(#body_wrap.id_701)):not(:has(#body_wrap.id_703)) .tmc-global-nav > a,
body:not(:has(#body_wrap.id_701)):not(:has(#body_wrap.id_703)) .tmc-global-phone,
body:not(:has(#body_wrap.id_701)):not(:has(#body_wrap.id_703)) .tmc-global-footer__main > section:not(.tmc-global-footer__brand) li > a {
  min-height: 44px !important;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

body:not(:has(#body_wrap.id_701)):not(:has(#body_wrap.id_703)) .tmc-global-top,
body:not(:has(#body_wrap.id_701)):not(:has(#body_wrap.id_703)) .tmc-global-top__inner {
  min-height: 44px !important;
  box-sizing: border-box;
}

/* TMC contact form clean UX - Codex 2026-08-25 */
html body .tmc-site .tmc-contact-section--tile {
  background: #f6f8f9 !important;
  color: #1f2d35 !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-contact-split {
  display: flex !important;
  flex-direction: column !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: 960px !important;
  margin-inline: auto !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-form-shell {
  order: 1 !important;
  width: 100% !important;
  max-width: 760px !important;
  margin-inline: auto !important;
  padding: clamp(26px, 4vw, 40px) !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  border: 1px solid #dbe3e7 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-contact-side {
  order: 2 !important;
  position: static !important;
  margin-top: 0 !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-form {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  color: #1f2d35 !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-form-note {
  margin: 0 0 4px !important;
  padding: 16px 18px !important;
  background: #f3f6f7 !important;
  border: 1px solid #dbe3e7 !important;
  border-left: 4px solid #0b5d66 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: #263740 !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-form-note :where(p, strong, span) {
  margin: 0 !important;
  color: #263740 !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group {
  display: block !important;
  margin: 0 !important;
  padding: 28px 0 !important;
  background: #ffffff !important;
  border: 0 !important;
  border-top: 1px solid #e1e7ea !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-form-note + .tmc-cf7-group {
  border-top: 0 !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group > p {
  display: block !important;
  grid-template-columns: minmax(0, 1fr) !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group > p > br,
html body .tmc-site .tmc-contact-section--tile .tmc-cf7-field br {
  display: none !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group h2.tmc-a11y-form-heading {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 22px !important;
  padding: 0 0 14px !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #dbe3e7 !important;
  border-radius: 0 !important;
  color: #182830 !important;
  font-size: 20px !important;
  line-height: 1.45 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group h2.tmc-a11y-form-heading::before,
html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group h2.tmc-a11y-form-heading::after {
  display: none !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group h2.tmc-a11y-form-heading > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px !important;
  padding: 0 !important;
  background: #0b5d66 !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-field {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: #263740 !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-field:last-of-type {
  margin-bottom: 0 !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #263740 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-required,
html body .tmc-site .tmc-contact-section--tile .tmc-cf7-optional {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 42px !important;
  min-height: 22px !important;
  padding: 2px 7px !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-required {
  background: #0b5d66 !important;
  border: 1px solid #0b5d66 !important;
  color: #ffffff !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-optional {
  background: #eef2f4 !important;
  border: 1px solid #cfd9de !important;
  color: #53636c !important;
}

html body .tmc-site .tmc-contact-section--tile .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

html body .tmc-site .tmc-contact-section--tile :where(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  select,
  textarea
) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 15px !important;
  min-height: 54px !important;
  background: #ffffff !important;
  border: 1px solid #afbdc4 !important;
  border-radius: 8px !important;
  color: #182830 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
}

html body .tmc-site .tmc-contact-section--tile textarea {
  height: 176px !important;
  min-height: 176px !important;
  padding: 14px 15px !important;
  resize: vertical !important;
}

html body .tmc-site .tmc-contact-section--tile :where(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  select,
  textarea
)::placeholder {
  color: #6d7980 !important;
  opacity: 1 !important;
}

html body .tmc-site .tmc-contact-section--tile :where(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  select,
  textarea
):focus,
html body .tmc-site .tmc-contact-section--tile :where(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  select,
  textarea
):focus-visible {
  outline: 0 !important;
  border-color: #0b5d66 !important;
  box-shadow: 0 0 0 3px rgba(11, 93, 102, .16) !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-help {
  display: block !important;
  margin: 0 !important;
  color: #61717a !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-privacy {
  margin: 4px 0 8px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: #52626b !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-privacy + p {
  margin: 0 0 18px !important;
  padding: 15px 16px !important;
  background: #f6f8f9 !important;
  border: 1px solid #dbe3e7 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

html body .tmc-site .tmc-contact-section--tile .wpcf7-list-item {
  display: block !important;
  margin: 0 !important;
}

html body .tmc-site .tmc-contact-section--tile .wpcf7-list-item label {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 11px !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  color: #263740 !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}

html body .tmc-site .tmc-contact-section--tile input[type="checkbox"] {
  width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  margin: 2px 0 0 !important;
  accent-color: #0b5d66 !important;
  box-shadow: none !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-submit {
  display: flex !important;
  justify-content: center !important;
  margin: 28px 0 0 !important;
  padding: 0 !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-submit input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 520px !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 14px 24px !important;
  background: #0b5d66 !important;
  border: 1px solid #0b5d66 !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-submit input[type="submit"]:hover,
html body .tmc-site .tmc-contact-section--tile .tmc-cf7-submit input[type="submit"]:focus-visible {
  background: #084a52 !important;
  border-color: #084a52 !important;
  color: #ffffff !important;
}

html body .tmc-site .tmc-contact-section--tile aside.tmc-visual-panel,
html body .tmc-site .tmc-contact-section--tile .tmc-info-card {
  background: #ffffff !important;
  border: 1px solid #dbe3e7 !important;
  box-shadow: none !important;
  color: #263740 !important;
}

html body .tmc-site .tmc-contact-section--tile aside.tmc-visual-panel :where(
  h2, h3, p, li, span, strong, small
),
html body .tmc-site .tmc-contact-section--tile .tmc-info-card :where(
  h2, h3, p, li, span, strong, small
) {
  color: #263740 !important;
  text-shadow: none !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-visual-steps > * {
  background: #f6f8f9 !important;
  border-color: #dbe3e7 !important;
  box-shadow: none !important;
}

@media (max-width: 720px) {
  html body .tmc-site .tmc-contact-section--tile {
    padding-top: 28px !important;
    padding-bottom: 40px !important;
  }

  html body .tmc-site .tmc-contact-section--tile .tmc-contact-split {
    gap: 24px !important;
  }

  html body .tmc-site .tmc-contact-section--tile .tmc-form-shell {
    width: 100% !important;
    max-width: 100% !important;
    padding: 20px 16px !important;
    border-radius: 10px !important;
  }

  html body .tmc-site .tmc-contact-section--tile .tmc-form-note {
    padding: 14px !important;
  }

  html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group {
    padding: 22px 0 !important;
  }

  html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group h2.tmc-a11y-form-heading {
    margin-bottom: 18px !important;
    padding-bottom: 12px !important;
    font-size: 18px !important;
  }

  html body .tmc-site .tmc-contact-section--tile .tmc-cf7-field {
    margin-bottom: 18px !important;
  }

  html body .tmc-site .tmc-contact-section--tile textarea {
    height: 160px !important;
    min-height: 160px !important;
  }

  html body .tmc-site .tmc-contact-section--tile .tmc-cf7-privacy + p {
    padding: 14px !important;
  }

  html body .tmc-site .tmc-contact-section--tile .tmc-cf7-submit {
    margin-top: 24px !important;
  }

  html body .tmc-site .tmc-contact-section--tile .tmc-cf7-submit input[type="submit"] {
    max-width: none !important;
    min-height: 56px !important;
  }

  html body .tmc-site .tmc-contact-section--tile .tmc-contact-side {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }
}

/* Keep the same clean treatment after accessibility heading normalization. */
html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group > h2,
html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group > h3 {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 22px !important;
  padding: 0 0 14px !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #dbe3e7 !important;
  border-radius: 0 !important;
  color: #182830 !important;
  font-size: 20px !important;
  line-height: 1.45 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group > h2::before,
html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group > h2::after,
html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group > h3::before,
html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group > h3::after {
  display: none !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group > h2 > span,
html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group > h3 > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px !important;
  padding: 0 !important;
  background: #0b5d66 !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-form-shell .tmc-cf7-form input[type="text"],
html body .tmc-site .tmc-contact-section--tile .tmc-form-shell .tmc-cf7-form input[type="email"],
html body .tmc-site .tmc-contact-section--tile .tmc-form-shell .tmc-cf7-form input[type="tel"] {
  background: #ffffff !important;
  border-color: #afbdc4 !important;
  color: #182830 !important;
  box-shadow: none !important;
}

@media (max-width: 720px) {
  html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group > h2,
  html body .tmc-site .tmc-contact-section--tile .tmc-cf7-group > h3 {
    margin-bottom: 18px !important;
    padding-bottom: 12px !important;
    font-size: 18px !important;
  }
}

/* Form-page mobile safeguards: keep controls unobstructed. */
html body .tmc-site .tmc-contact-section--tile .tmc-cf7-submit {
  position: relative !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-submit input[type="submit"] {
  flex: 1 1 auto !important;
}

html body .tmc-site .tmc-contact-section--tile .tmc-cf7-submit .wpcf7-spinner {
  position: absolute !important;
  top: 50% !important;
  right: 12px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
}

@media (max-width: 720px) {
  body:has(.tmc-contact-section--tile) .tmc-global-mobilebar,
  body:has(.tmc-contact-section--tile) .tmc-mobile-bar {
    position: static !important;
    inset: auto !important;
    width: min(420px, calc(100% - 24px)) !important;
    max-width: calc(100% - 24px) !important;
    margin: 18px auto 14px !important;
  }
}

