@import url('https://fonts.googleapis.com/css2?family=Newsreader:opsz,wght@6..72,400;6..72,500&family=Libre+Franklin:wght@400;500;600&display=swap');

.jxm-profile, .jxm-application {
  --jxm-navy: #01334d; --jxm-red: #8b191c; --jxm-ink: #1c2429;
  --jxm-muted: #5b6770; --jxm-line: #d9dee2; --jxm-wash: #f3f6f8;
  box-sizing: border-box; color: var(--jxm-ink); font-family: 'Libre Franklin', Arial, sans-serif;
  font-size: 16px; line-height: 1.65; letter-spacing: 0;
  width: min(1140px, 100%); margin: 32px auto 56px; padding: 0 24px;
  overflow-wrap: anywhere;
}
.jxm-application, .jxm-profile {
  width: min(1140px, calc(100% - 48px)); max-width: none;
}
.jxm-application-intro { color: var(--jxm-muted); margin: 0 0 24px; }
.jxm-profile *, .jxm-application * { box-sizing: border-box; letter-spacing: 0; }
.jxm-profile h1, .jxm-application h1 { font-size: 36px; line-height: 1.2; margin: 0 0 12px; }
.jxm-profile h2, .jxm-application h2 { font-size: 26px; line-height: 1.25; margin: 0 0 16px; }
.jxm-profile h3 { font-size: 18px; }
.jxm-profile h1, .jxm-profile h2, .jxm-profile h3, .jxm-application h1,
.jxm-application .directorist-add-listing-form .directorist-content-module__title h2 {
  color: var(--jxm-navy); font-family: Newsreader, Georgia, serif; font-weight: 500;
}
.jxm-profile-header { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 28px; padding-bottom: 28px; border-bottom: 1px solid var(--jxm-line); }
.jxm-profile-header--no-photo { display: block; }
.jxm-profile-photo { width: 160px; height: 160px; object-fit: cover; border-radius: 4px; }
.jxm-certification, .jxm-verification { font-size: 14px; margin: 8px 0; }
.jxm-verification { color: #245340; }
.jxm-introduction { max-width: 760px; margin: 16px 0 0; }
.jxm-profile-columns { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 36px; padding-top: 32px; }
.jxm-profile-columns--no-sidebar { grid-template-columns: minmax(0, 1fr); }
.jxm-profile-main, .jxm-profile-sidebar { min-width: 0; }
.jxm-profile-sidebar { border-top: 4px solid var(--jxm-red); background: var(--jxm-wash); padding: 24px; align-self: start; }
.jxm-section { padding: 0 0 28px; margin: 0 0 28px; border-bottom: 1px solid var(--jxm-line); }
.jxm-fee-section { padding-bottom: 20px; border-bottom: 1px solid var(--jxm-line); }
.jxm-fee-section h2 { margin-bottom: 20px; }
.jxm-fee-label { display: block; margin: 0 0 4px; color: var(--jxm-muted); font-size: 12px; font-weight: 600; line-height: 1.4; text-transform: uppercase; }
.jxm-fee-amount { margin: 0 0 18px; color: var(--jxm-navy); font-size: 26px; font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }
.jxm-fee-structure { display: grid; gap: 2px; padding-top: 14px; border-top: 1px solid var(--jxm-line); font-size: 15px; line-height: 1.5; }
.jxm-fee-includes { margin-top: 20px; }
.jxm-fee-includes h3 { margin: 0 0 8px; color: var(--jxm-navy); font: 600 15px/1.4 'Libre Franklin', Arial, sans-serif; }
.jxm-fee-includes ul { margin: 0; padding-left: 19px; font-size: 14px; line-height: 1.55; }
.jxm-fee-includes li + li { margin-top: 6px; }
.jxm-session-details, .jxm-contact-details { margin: 0; }
.jxm-session-details > div { display: grid; grid-template-columns: minmax(160px, 35%) minmax(0, 1fr); gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--jxm-line); }
.jxm-profile dt { font-weight: 600; color: var(--jxm-navy); }
.jxm-profile dd { margin: 0; }
.jxm-contact-details > div { margin-top: 16px; }
.jxm-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
.jxm-chips li { background: var(--jxm-wash); border: 1px solid var(--jxm-line); border-radius: 4px; padding: 5px 10px; max-width: 100%; font-size: 14px; }
.jxm-cta { display: grid; gap: 12px; margin: 24px 0; }
.jxm-button { display: block; padding: 13px 16px; border-radius: 4px; color: white !important; background: var(--jxm-red); text-align: center; text-decoration: none !important; font-weight: 600; line-height: 1.5; }
.jxm-button:hover { background: #6f1316; }
.jxm-button--email { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 12px; font-size: 15px; line-height: 1.3; }
.jxm-button--preview { width: 100%; border: 0; cursor: not-allowed; font: inherit; font-weight: 600; opacity: .72; }
.jxm-button--preview:hover { background: var(--jxm-red); }
.jxm-cta-preview-note { margin: 0; color: #5d2515; font-size: .85rem; line-height: 1.4; }
.jxm-button--contact { color: var(--jxm-navy) !important; background: white; border: 1px solid var(--jxm-navy); }
.jxm-button--contact:hover { background: #e6edf1; }
.jxm-button:focus-visible, .jxm-application input:focus-visible, .jxm-application textarea:focus-visible { outline: 3px solid #b95559; outline-offset: 3px; }
.jxm-video { aspect-ratio: 16 / 9; }
.jxm-video iframe { width: 100%; height: 100%; border: 0; }
.jxm-reviews blockquote { margin: 0 0 20px; padding: 0 0 0 18px; border-left: 3px solid var(--jxm-line); }
.jxm-profile-disclaimer { margin: 32px 0 0; padding-top: 20px; border-top: 1px solid var(--jxm-line); color: var(--jxm-muted); font-size: 13px; line-height: 1.6; }
.jxm-application .directorist-content-module { border: 0; border-radius: 0; box-shadow: none; border-bottom: 1px solid var(--jxm-line); }
.jxm-application .directorist-add-listing-form, .jxm-application .directorist-form-element { font-family: 'Libre Franklin', Arial, sans-serif; }
.jxm-application input[type=text], .jxm-application input[type=email], .jxm-application input[type=number], .jxm-application textarea, .jxm-application select { border: 1.5px solid #b9c2c8; border-radius: 4px; min-height: 44px; font-size: 16px; max-width: 100%; }
.jxm-application input[type=number] { border: 1.5px solid #b9c2c8 !important; padding: 10px 12px; }
.jxm-application input[type=checkbox], .jxm-application input[type=radio] { accent-color: var(--jxm-red); }
.jxm-application .directorist-btn-primary { background: var(--jxm-red); color: white; border-color: var(--jxm-red); border-radius: 4px; }
.jxm-application .directorist-form-required { color: var(--jxm-red); }
.jxm-photo-help { margin: 8px 0 0; color: var(--jxm-muted); font-size: 14px; }
.jxm-application .directorist-checkbox__label, .jxm-application .directorist-radio__label { white-space: normal; }
@media (max-width: 800px) {
  .jxm-profile-columns { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .jxm-profile-sidebar { width: 100%; }
  .jxm-application .multistep-wizard__content { padding-left: 0 !important; width: 100%; min-width: 0; }
  .jxm-application .multistep-wizard__wrapper { width: 100%; min-width: 0; }
}
@media (max-width: 480px) {
  .jxm-profile, .jxm-application { padding: 0 16px; margin-top: 24px; }
  .jxm-application, .jxm-profile { width: calc(100% - 16px); }
  .jxm-profile-header { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .jxm-profile h1, .jxm-application h1 { font-size: 28px; }
  .jxm-session-details > div { grid-template-columns: minmax(0, 1fr); gap: 6px; }
}
.jxm-sample-notice { margin: 0 0 1.5rem; padding: .85rem 1rem; border: 2px solid #a13f21; background: #fff5ef; color: #5d2515; font-size: .95rem; line-height: 1.5; }
.jxm-sample-notice strong { display: block; font-weight: 800; }
.jxm-case-enquiry { width: min(760px, calc(100% - 32px)); margin: 40px auto 64px; color: #1c2429; font: 16px/1.6 'Libre Franklin', Arial, sans-serif; }
.jxm-case-enquiry * { box-sizing: border-box; }
.jxm-case-enquiry h1 { margin: 0 0 12px; color: #01334d; font: 500 36px/1.2 Newsreader, Georgia, serif; }
.jxm-case-enquiry-intro { margin: 0 0 28px; color: #5b6770; }
.jxm-case-enquiry .formgent-btn { border-radius: 4px; background: #8b191c; color: #fff; }
.jxm-case-enquiry .formgent-btn:hover { background: #6f1316; }
@media (max-width: 480px) { .jxm-case-enquiry { margin-top: 24px; } .jxm-case-enquiry h1 { font-size: 28px; } }
html.jxm-case-modal-open, html.jxm-case-modal-open body { overflow: hidden; }
.jxm-case-modal[hidden] { display: none; }
.jxm-case-modal { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 16px; font: 16px/1.55 'Libre Franklin', Arial, sans-serif; color: #1c2429; }
.jxm-case-modal * { box-sizing: border-box; }
.jxm-case-modal__backdrop { position: absolute; inset: 0; background: rgb(7 22 30 / 68%); }
.jxm-case-modal__panel { position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr); width: min(640px, 100%); max-height: calc(100dvh - 32px); overflow: hidden; border-radius: 6px; background: #fff; box-shadow: 0 20px 60px rgb(0 0 0 / 25%); }
.jxm-case-modal__panel:focus { outline: none; }
.jxm-case-modal__header { display: flex; justify-content: space-between; align-items: start; gap: 16px; padding: 22px 24px 18px; border-bottom: 1px solid #d9dee2; }
.jxm-case-modal__header h2 { margin: 0; font: 500 27px/1.2 Newsreader, Georgia, serif; color: #01334d; }
.jxm-case-modal__header p { margin: 4px 0 0; color: #5b6770; }
.jxm-case-modal__close { flex: 0 0 36px; width: 36px; height: 36px; border: 0; border-radius: 4px; background: #f3f6f8; color: #1c2429; font: 28px/1 Arial, sans-serif; cursor: pointer; }
.jxm-case-modal__close:hover { background: #e6edf1; }
.jxm-case-modal__body { min-width: 0; overflow: auto; padding: 24px; overscroll-behavior: contain; }
.jxm-case-modal__intro { margin: 0 0 22px; color: #5b6770; }
.jxm-case-modal .formgent-form { max-width: none; }
.jxm-case-modal .formgent-btn.formgent-btn-default { border-radius: 4px; background: #8b191c !important; color: #fff !important; }
.jxm-case-modal .formgent-btn.formgent-btn-default:hover { background: #6f1316 !important; }
.jxm-case-modal :is(input, textarea, select, button, a):focus-visible { outline: 2px solid #8b191c; outline-offset: 2px; }
@media (max-width: 480px) { .jxm-case-modal { padding: 8px; } .jxm-case-modal__panel { max-height: calc(100dvh - 16px); } .jxm-case-modal__header { padding: 18px 16px 14px; } .jxm-case-modal__body { padding: 16px; } }
