/*
 * MyBooking shared presentation layer — 2026-11-08.
 * Loaded after the legacy template CSS. Content rules are scoped to the
 * new .myb-site markup; legacy pages have their own explicit selectors.
 * Explicit px sizes avoid dependence on third-party root font settings.
 */

.myb-site, #header, #footer, .faq-section, .glossary-section,
  .terms-section, #main-content > .blog, .article-wrapper.blog-article {
  --myb-blue: #4263eb;
  --myb-blue-dark: #304dcc;
  --myb-ink: #182c48;
  --myb-muted: #53647a;
  --myb-line: #e0e7f2;
  --myb-soft: #f5f8fe;
  font-family: Heebo, "Assistant Regular", Arial, sans-serif;
}

.myb-skip-link {
  position: fixed;
  inset-block-start: 10px;
  inset-inline-start: 16px;
  z-index: 10001;
  padding: 12px 20px;
  border-radius: 10px;
  background: #304dcc;
  color: #fff;
  font: 700 16px/1.5 Heebo, Arial, sans-serif;
  text-decoration: none;
  transform: translateY(-160%);
}
.myb-skip-link:focus {
  transform: translateY(0);
  color: #fff;
  outline: 3px solid #182c48;
  outline-offset: 3px;
}

/* Shared content foundation. No overflow masking on the document. */
.myb-site,
.myb-site *,
.myb-site *::before,
.myb-site *::after {
  box-sizing: border-box;
}
main.content:has(.myb-site),
.item-page:has(.myb-site),
.item-page:has(.myb-site) > [itemprop="articleBody"] {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  float: none;
  border: 0;
  background: #fff;
}
.myb-site {
  width: 100%;
  margin: 0;
  direction: rtl;
  text-align: start;
  background: #fff;
  color: var(--myb-ink);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
}
.myb-site :is(h1, h2, h3, p, ul, ol, figure) { margin-block-start: 0; }
.myb-site :is(h1, h2, h3) {
  font-family: inherit;
  font-weight: 800;
  color: var(--myb-ink);
  overflow-wrap: break-word;
}
.myb-site h1 {
  margin-block-end: 24px;
  font-size: clamp(38px, 4.7vw, 64px);
  line-height: 1.17;
  letter-spacing: -1.4px;
}
.myb-site h1 em { color: var(--myb-blue); font-style: normal; }
.myb-site h2 {
  margin-block-end: 18px;
  font-size: clamp(29px, 3.1vw, 42px);
  line-height: 1.3;
  letter-spacing: -0.7px;
}
.myb-site h3 {
  margin-block-end: 12px;
  font-size: 22px;
  line-height: 1.45;
  letter-spacing: -0.2px;
}
.myb-site p { margin-block-end: 18px; color: var(--myb-muted); }
.myb-site img { max-width: 100%; }
.myb-site a { color: var(--myb-blue); text-underline-offset: 4px; }
.myb-site [id] { scroll-margin-top: 112px; }
.myb-site :is(a, button, summary, input, select, textarea):focus-visible,
#header :is(a, button):focus-visible,
#footer a:focus-visible,
.faq-section :is(a, button, [tabindex]):focus-visible,
.glossary-section a:focus-visible,
.terms-section a:focus-visible,
.blog a:focus-visible,
.blog-article a:focus-visible {
  outline: 3px solid #2546bd;
  outline-offset: 4px;
}
.myb-site .ms-wrap {
  width: calc(100% - 48px);
  max-width: 1200px;
  margin-inline: auto;
}
.myb-site .ms-kicker {
  display: inline-flex;
  align-items: center;
  margin-block-end: 20px;
  padding: 6px 13px;
  border: 1px solid #dce5ff;
  border-radius: 100px;
  background: #eef3ff;
  color: var(--myb-blue-dark);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
}
.myb-site .ms-lead {
  max-width: 660px;
  margin-block-end: 28px;
  font-size: 20px;
  line-height: 1.85;
}
.myb-site .ms-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.myb-site .ms-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  max-width: 100%;
  padding: 13px 22px;
  border: 1px solid var(--myb-blue);
  border-radius: 11px;
  background: var(--myb-blue);
  box-shadow: 0 5px 15px rgb(66 99 235 / 15%);
  color: #fff;
  font: 700 16px/1.5 Heebo, Arial, sans-serif;
  text-align: center;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.myb-site .ms-btn:hover {
  border-color: var(--myb-blue-dark);
  background: var(--myb-blue-dark);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 7px 20px rgb(66 99 235 / 20%);
}
.myb-site .ms-btn.secondary {
  border-color: #ccd7e8;
  background: #fff;
  box-shadow: none;
  color: var(--myb-ink);
}
.myb-site .ms-btn.secondary:hover { border-color: #a9bde7; background: #f1f5ff; }
.myb-site .ms-btn > span[aria-hidden] { font-size: 20px; line-height: 1; }
.myb-site .ms-text-link {
  display: inline-block;
  flex-shrink: 0;
  color: var(--myb-blue-dark);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: none;
}
.myb-site .ms-text-link:hover { text-decoration: underline; }
.myb-site .ms-note {
  margin-block: 24px 0;
  color: #64738a;
  font-size: 14px;
  line-height: 1.85;
  overflow-wrap: anywhere;
}

/* Heroes and section rhythm. */
.myb-site .ms-hero {
  padding-block: 76px 80px;
  background: linear-gradient(135deg, #f0f5ff 0%, #fbfcff 48%, #fff 100%);
}
.myb-site .ms-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  align-items: center;
  gap: 64px;
}
.myb-site .ms-hero-grid > *,
.myb-site .ms-split > *,
.myb-site .ms-grid > * { min-width: 0; }
.myb-site .ms-visual { position: relative; min-width: 0; }
.myb-site .ms-photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 24px;
  box-shadow: 0 24px 60px rgb(30 51 91 / 13%);
}
.myb-site .ms-float {
  position: absolute;
  inset-inline-start: 20px;
  inset-block-end: 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: calc(100% - 40px);
  padding: 15px 18px;
  border: 1px solid rgb(225 232 242 / 90%);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 10px 30px rgb(21 43 77 / 14%);
  color: var(--myb-muted);
  font-size: 13px;
  line-height: 1.65;
}
.myb-site .ms-float strong { display: block; color: var(--myb-ink); font-size: 16px; }
.myb-site .ms-check {
  display: inline-flex;
  flex: 0 0 38px;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #e7f7ef;
  color: #13794d;
  font-size: 22px;
  font-weight: 700;
}
.myb-site .ms-band { border-block: 1px solid #e2e9f6; background: #f2f6fe; }
.myb-site .ms-band-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.myb-site .ms-band-grid > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 24px 20px;
  text-align: center;
}
.myb-site .ms-band-grid > div + div { border-inline-start: 1px solid #dde6f5; }
.myb-site .ms-band strong { color: var(--myb-ink); font-size: 21px; font-weight: 800; line-height: 1.4; }
.myb-site .ms-band span { color: var(--myb-muted); font-size: 15px; line-height: 1.6; }
.myb-site .ms-section { padding-block: 84px; background: var(--myb-soft); }
.myb-site .ms-section.white { background: #fff; }
.myb-site .ms-section.tint { background: #eef3fc; }
.myb-site .ms-section:has(.ms-cta) { padding-block: 64px 80px; background: #fff; }
.myb-site .ms-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-block-end: 36px;
}
.myb-site .ms-head > div { max-width: 790px; }
.myb-site .ms-head p { margin-block-end: 0; }
.myb-site .ms-head .ms-kicker { margin-block-end: 16px; }
.myb-site .ms-head h2 { margin-block-end: 14px; }
.myb-site .ms-center { max-width: 880px; margin-inline: auto; text-align: center; }
.myb-site .ms-center .ms-lead { margin-inline: auto; }
.myb-site .ms-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.myb-site .ms-card {
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--myb-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 4px 18px rgb(30 51 91 / 3%);
}
.myb-site .ms-card p { margin-block-end: 0; font-size: 17px; line-height: 1.85; }
.myb-site .ms-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-block-end: 20px;
  border-radius: 12px;
  background: #edf2ff;
  color: var(--myb-blue-dark);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}
.myb-site .ms-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 64px;
}
.myb-site .ms-list { margin: 24px 0; padding: 0; list-style: none; }
.myb-site .ms-list li {
  position: relative;
  margin-block: 12px;
  padding-inline-start: 28px;
  color: var(--myb-muted);
  font-size: 17px;
  line-height: 1.75;
}
.myb-site .ms-list li::before {
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 1px;
  content: "✓";
  color: var(--myb-blue-dark);
  font-size: 17px;
  font-weight: 700;
}

/* Agenda illustration remains ordinary accessible HTML. */
.myb-site .ms-mock {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dbe4f2;
  border-radius: 21px;
  background: #fff;
  box-shadow: 0 18px 48px rgb(34 61 108 / 10%);
}
.myb-site .ms-mock-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  border-block-end: 1px solid #e4eaf4;
  background: #f9fbff;
}
.myb-site .ms-mock-top strong { color: var(--myb-blue-dark); font-size: 21px; font-weight: 800; direction: ltr; unicode-bidi: isolate; }
.myb-site .ms-mock-top small { color: #65758b; font-size: 13px; }
.myb-site .ms-mock-body { padding: 24px; }
.myb-site .ms-mock-date {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-block-end: 16px;
  color: var(--myb-ink);
  font-size: 15px;
  font-weight: 600;
}
.myb-site .ms-mock-date span:last-child { color: #66758a; font-size: 12px; font-weight: 400; }
.myb-site .ms-apt { display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: start; gap: 14px; padding-block: 10px; }
.myb-site .ms-apt time { padding-block-start: 13px; color: #64748b; font-size: 14px; font-variant-numeric: tabular-nums; direction: ltr; unicode-bidi: isolate; text-align: start; }
.myb-site .ms-apt > div { padding: 12px 15px; border-inline-start: 3px solid #6480ed; border-radius: 9px; background: #f0f4ff; }
.myb-site .ms-apt strong { display: block; color: #223b65; font-size: 16px; font-weight: 700; line-height: 1.5; }
.myb-site .ms-apt small { display: block; margin-block-start: 4px; color: #5b6c84; font-size: 13px; line-height: 1.5; }
.myb-site .ms-mock-footer { padding: 13px 24px; border-block-start: 1px solid #e7edf5; background: #fafcff; color: #66758a; font-size: 12px; line-height: 1.7; }
.myb-site .ms-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; counter-reset: myb-step; }
.myb-site .ms-step { padding: 28px; border: 1px solid var(--myb-line); border-radius: 18px; background: #fff; counter-increment: myb-step; }
.myb-site .ms-step::before { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-block-end: 22px; border-radius: 12px; background: var(--myb-blue); color: #fff; font-size: 16px; font-weight: 700; content: counter(myb-step, decimal-leading-zero); }
.myb-site .ms-step p { margin: 0; font-size: 17px; }

/* Native disclosure controls and closing call to action. */
.myb-site .ms-faq { max-width: 880px; margin: 32px auto 0; }
.myb-site .ms-faq details { margin-block: 12px; overflow: hidden; border: 1px solid #dbe4f1; border-radius: 14px; background: #fff; }
.myb-site .ms-faq summary {
  position: relative;
  min-height: 68px;
  padding: 20px 24px;
  padding-inline-end: 64px;
  color: var(--myb-ink);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
  list-style: none;
  cursor: pointer;
}
.myb-site .ms-faq summary::marker { content: ""; }
.myb-site .ms-faq summary:focus-visible { outline-offset: -4px; }
.myb-site .ms-faq summary::-webkit-details-marker { display: none; }
.myb-site .ms-faq summary::after { position: absolute; inset-inline-end: 24px; inset-block-start: 15px; color: var(--myb-blue-dark); font-size: 28px; font-weight: 400; line-height: 1.4; content: "+"; }
.myb-site .ms-faq details[open] { border-color: #b9c9eb; }
.myb-site .ms-faq details[open] > summary::after { content: "−"; }
.myb-site .ms-faq details > p { margin: 0; padding: 0 24px 24px; font-size: 17px; line-height: 1.9; }
.myb-site .ms-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 36px;
  padding: 44px 48px;
  border-radius: 24px;
  background: #152e52;
  color: #fff;
}
.myb-site .ms-cta h2 { margin-block-end: 12px; color: #fff; font-size: clamp(28px, 2.7vw, 36px); }
.myb-site .ms-cta p { max-width: 720px; margin: 0; color: #dce6f8; font-size: 17px; line-height: 1.8; }
.myb-site .ms-cta .ms-btn { border-color: #fff; background: #fff; color: #294acb; box-shadow: none; }
.myb-site .ms-cta .ms-btn:hover { border-color: #dbe6ff; background: #eaf0ff; color: #203fae; }

/* Plans and comparison table. */
.myb-site .ms-grid.plans { align-items: stretch; }
.myb-site .ms-plan { display: flex; flex-direction: column; }
.myb-site .ms-plan h2 { margin-block: 18px 10px; font-size: 32px; line-height: 1.3; }
.myb-site .ms-plan > p:not(.ms-note) { min-height: 64px; font-size: 16px; line-height: 1.8; }
.myb-site .ms-tag { align-self: flex-start; padding: 5px 11px; border-radius: 100px; background: #edf2ff; color: #304dcc; font-size: 13px; font-weight: 600; line-height: 1.5; }
.myb-site .ms-price { min-height: 76px; margin-block-start: 16px; color: var(--myb-ink); font-size: 58px; font-weight: 800; line-height: 1.25; letter-spacing: -1px; }
.myb-site .ms-price small { margin-inline-end: 4px; font-size: 28px; font-weight: 500; }
.myb-site .ms-price:not(:has(small)) { display: flex; align-items: center; font-size: 32px; line-height: 1.4; letter-spacing: -.4px; }
.myb-site .ms-plan > .ms-note { min-height: 26px; margin-block: 0 24px; font-size: 14px; }
.myb-site .ms-plan > .ms-btn { width: 100%; margin-block-end: 10px; padding-inline: 12px; }
.myb-site .ms-plan .ms-list { margin-block: 16px 0; }
.myb-site .ms-plan .ms-list li { font-size: 16px; }
.myb-site .ms-plan.pro { padding: 27px; border: 2px solid var(--myb-blue); box-shadow: 0 12px 36px rgb(66 99 235 / 11%); }
.myb-site .ms-plan.pro .ms-tag { background: var(--myb-blue); color: #fff; }
.myb-site .ms-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; border: 1px solid var(--myb-line); border-radius: 16px; background: #fff; }
.myb-site .ms-table-scroll table { width: 100%; min-width: 640px; margin: 0; border-collapse: collapse; color: var(--myb-ink); font-size: 16px; line-height: 1.6; }
.myb-site .ms-table-scroll :is(th, td) { padding: 17px 22px; border-block-end: 1px solid #e6ecf5; text-align: start; vertical-align: middle; }
.myb-site .ms-table-scroll thead th { background: #eff4fd; color: #2c4363; font-weight: 700; }
.myb-site .ms-table-scroll tbody th { min-width: 200px; font-weight: 600; }
.myb-site .ms-table-scroll tbody tr:nth-child(even) { background: #f9fbff; }
.myb-site .ms-table-scroll tbody tr:last-child > * { border-block-end: 0; }

/* Demo introduction and help — the booking application is separate. */
.myb-live-demo .live-intro { padding-block: 72px 44px; background: linear-gradient(135deg, #eff4ff, #fff); }
.myb-live-demo .live-intro > .ms-wrap { max-width: 960px; text-align: center; }
.myb-live-demo .live-intro p { max-width: 760px; margin-inline: auto; font-size: 19px; }
.myb-live-demo .live-layout { padding-block: 12px 48px; background: #fff; }
.myb-live-demo .live-info { display: flex; align-items: flex-start; gap: 20px; padding: 20px 24px; border: 1px solid #dbe5f6; border-inline-start: 4px solid var(--myb-blue); border-radius: 14px; background: #f3f7ff; font-size: 16px; }
.myb-live-demo .live-info strong { flex-shrink: 0; color: #233e68; }
.myb-live-demo .live-info span { color: var(--myb-muted); }
.myb-live-demo .live-lower { padding-block: 64px 80px; background: var(--myb-soft); }
.myb-live-demo .live-lower .ms-split { align-items: start; }
.myb-live-demo .live-help-steps { display: grid; gap: 24px; margin-block: 30px; counter-reset: myb-demo-step; }
.myb-live-demo .live-help-steps > div { position: relative; min-height: 44px; padding-inline-start: 58px; counter-increment: myb-demo-step; }
.myb-live-demo .live-help-steps > div::before { position: absolute; inset-inline-start: 0; inset-block-start: 0; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; background: #e7edff; color: #304dcc; font-size: 16px; font-weight: 700; content: counter(myb-demo-step); }
.myb-live-demo .live-help-steps strong { display: block; margin-block-end: 4px; color: var(--myb-ink); font-size: 18px; }
.myb-live-demo .live-help-steps span { display: block; color: var(--myb-muted); font-size: 16px; }
.myb-live-demo .live-checklist { padding: 30px; border: 1px solid var(--myb-line); border-radius: 20px; background: #fff; box-shadow: 0 5px 20px rgb(32 55 95 / 4%); }
.myb-live-demo .live-checklist .ms-list { margin-block-end: 0; }

/* Shared site chrome. Preserve the existing menu's .active state contract. */
#header { background: rgb(255 255 255 / 96%); box-shadow: 0 1px 0 #e6ebf3; }
#header .header-container,
#footer .footer-container { width: calc(100% - 48px); max-width: 1200px; margin-inline: auto; padding-inline: 0; }
#header .header-content { height: 84px; gap: 28px; }
#header .logo-section { flex: 0 0 auto; }
#header .logo-section img { display: block; width: 194px; max-width: 100%; height: auto; }
#header .logo-text { margin-block-start: 3px; color: #637086; font-family: inherit; font-size: 12px; line-height: 1.5; }
#header .main-navigation .mod-menu { align-items: center; gap: 25px; margin: 0; padding: 0; }
#header .main-navigation .mod-menu a { padding-block: 10px; color: #45536a; font-family: inherit; font-size: 15px; font-weight: 500; line-height: 1.5; }
#header .main-navigation .mod-menu :is(.active, .current) > a,
#header .main-navigation .mod-menu a[aria-current="page"] { color: #304dcc; font-family: inherit; font-weight: 700; }
#header .main-navigation .mod-menu a:hover { color: #304dcc; }
#header .header-actions { gap: 12px; }
#header .header-actions .menu_demo a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 11px 18px; border-radius: 10px; background: #4263eb; color: #fff; font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.5; box-shadow: none; }
#header .header-actions .menu_demo a:hover { background: #304dcc; }
#header .mobile-menu-toggle { align-items: center; justify-content: center; width: 44px; height: 44px; padding: 8px; border: 1px solid #dbe3ef; border-radius: 10px; color: #233b60; }
#header .mobile-menu-overlay { width: 100%; height: 100vh; height: 100dvh; background: #13284b; overflow-y: auto; overscroll-behavior: contain; }
#header .mobile-menu-content { min-height: 100%; height: auto; padding: 80px 24px 40px; }
#header .mobile-menu-close { top: 18px; right: auto; left: auto; inset-inline-start: 18px; width: 44px; height: 44px; padding: 10px; }
#header .mobile-navigation .mod-menu a { padding-block: 9px; color: #f6f8ff; font-family: inherit; font-size: 22px; font-weight: 600; line-height: 1.5; }
#header .mobile-navigation .mod-menu :is(.active, .current) > a { color: #aebeff; }
#header .mobile-navigation .mod-menu a:hover,
#header .mobile-navigation .mod-menu a:focus { color: #c9d5ff; transform: none; }
#header .mobile-actions .menu_demo a { padding: 13px 24px; border-radius: 11px; background: #4263eb; color: #fff; font-family: inherit; font-size: 18px; line-height: 1.5; }
#header .mobile-menu-content :is(a, button):focus-visible { outline-color: #d3ddff; }
#footer { padding-block: 58px 24px; background: #f7f9fd; color: #53647a; }
#footer .footer-content { grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 44px; margin-block-end: 40px; }
#footer .footer-brand { max-width: 300px; }
#footer .footer-logo img { width: 190px; max-width: 100%; height: auto; }
#footer .footer-description { margin: 0; font-size: 15px; line-height: 1.85; color: #627189; }
#footer .footer-title { margin-block-end: 16px; color: #203653; font-family: inherit; font-size: 16px; font-weight: 700; }
#footer .mod-menu a { padding-block: 6px; color: #52627a; font-family: inherit; font-size: 15px; line-height: 1.65; }
#footer .mod-menu a:hover { color: #304dcc; }
#footer .footer-bottom { padding-block-start: 22px; border-color: #e0e7f2; }
#footer .footer-copyright p { color: #617087; font-size: 14px; line-height: 1.6; }

/* Legacy FAQ, glossary, and legal pages share the same visual rhythm. */
:is(.faq-section, .glossary-section, .terms-section) { padding-block: 68px 84px; background: #f7f9fe; color: #182c48; font-size: 18px; line-height: 1.85; }
:is(.faq-section, .glossary-section, .terms-section) *,
:is(.faq-section, .glossary-section, .terms-section) *::before,
:is(.faq-section, .glossary-section, .terms-section) *::after { box-sizing: border-box; }
.faq-section .faq-container,
.glossary-section .glossary-container { width: calc(100% - 48px); max-width: 1000px; margin-inline: auto; padding-inline: 0; }
.faq-section .faq-header,
.glossary-section .glossary-header { max-width: 800px; margin: 0 auto 38px; text-align: center; }
.faq-section .faq-title,
.glossary-section .glossary-title { margin: 0 0 18px; color: #182c48; font-family: inherit; font-size: clamp(34px, 4vw, 50px); font-weight: 800; line-height: 1.25; letter-spacing: -.7px; }
.faq-section .highlight,
.glossary-section .highlight,
.terms-section .highlight { color: #4263eb; }
.faq-section .faq-description,
.glossary-section .glossary-description { max-width: 740px; margin: 0 auto; color: #53647a; font-family: inherit; font-size: 18px; line-height: 1.85; }
.faq-section .faq-contact-link { color: #304dcc; font-weight: 600; text-underline-offset: 4px; }
.faq-section .faq-accordion { max-width: 880px; margin: 32px auto 0; }
.faq-section .faq-item { margin-block: 12px; overflow: hidden; border: 1px solid #dbe4f1; border-radius: 14px; background: #fff; box-shadow: none; }
.faq-section .faq-question { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 66px; padding: 20px 24px; color: #182c48; font-family: inherit; cursor: pointer; }
.faq-section .faq-question-text { color: #182c48; font-family: inherit; font-size: 18px; font-weight: 600; line-height: 1.6; }
.faq-section .faq-chevron { flex-shrink: 0; width: 20px; color: #4263eb; }
.faq-section .faq-answer { color: #53647a; font-family: inherit; font-size: 17px; line-height: 1.9; }
.faq-section .faq-answer p { margin-block: 0 14px; }
.faq-section .faq-answer p:last-child { margin-block-end: 0; }
.glossary-section .glossary-item { margin-block: 16px; padding: 25px 30px; border: 1px solid #e0e7f2; border-radius: 14px; background: #fff; box-shadow: none; }
.glossary-section .glossary-term { margin: 0 0 10px; color: #203653; font-family: inherit; font-size: 22px; font-weight: 700; line-height: 1.5; }
.glossary-section .glossary-definition { margin: 0; color: #53647a; font-family: inherit; font-size: 18px; line-height: 1.85; }
.terms-section .terms-container { box-sizing: border-box; width: calc(100% - 48px); max-width: 900px; margin-inline: auto; padding: 44px 48px; border: 1px solid #e0e7f2; border-radius: 20px; background: #fff; }
.terms-section .terms-title { margin: 0 0 30px; color: #182c48; font-family: inherit; font-size: clamp(32px, 3.6vw, 44px); font-weight: 800; line-height: 1.3; }
.terms-section h2 { margin: 34px 0 12px; color: #203653; font-family: inherit; font-size: 25px; font-weight: 700; line-height: 1.5; }
.terms-section :is(p, li) { color: #53647a; font-size: 17px; line-height: 1.9; overflow-wrap: anywhere; }
.terms-section p { margin-block: 0 18px; }
.terms-section :is(ul, ol) { margin-block: 18px 24px; padding-inline-start: 26px; }
.terms-section li { margin-block: 8px; }
.terms-section strong { color: #203653; }
.terms-section a { color: #304dcc; text-decoration: underline; text-underline-offset: 4px; }

/* Blog listing and a comfortable article reading measure. */
#main-content > .blog { box-sizing: border-box; width: calc(100% - 48px); max-width: 1200px; margin: 0 auto; padding-block: 64px 84px; color: #182c48; }
#main-content > .blog .blog-header-text { max-width: 850px; margin: 0 auto 42px; text-align: center; }
#main-content > .blog .blog-title { margin: 0 0 18px; color: #182c48; font-family: inherit; font-size: clamp(34px, 4vw, 50px); font-weight: 800; line-height: 1.3; }
#main-content > .blog .highlight { color: #4263eb; }
#main-content > .blog .blog-subtitle { color: #53647a; font-family: inherit; font-size: 19px; line-height: 1.85; }
#main-content > .blog .blog-grid { display: grid; padding: 0; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 24px !important; }
#main-content > .blog .article-card-link { display: flex; flex-direction: column; min-width: 0; height: 100%; overflow: hidden; border: 1px solid #e0e7f2; border-radius: 18px; background: #fff; color: #182c48; text-decoration: none; box-shadow: 0 4px 18px rgb(30 51 91 / 4%); transition: border-color .18s ease, box-shadow .18s ease; }
#main-content > .blog .article-card-link:hover { border-color: #b9c9ed; box-shadow: 0 12px 28px rgb(30 51 91 / 9%); text-decoration: none; }
#main-content > .blog .article-image { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
#main-content > .blog .article-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
#main-content > .blog .article-content { display: flex; flex: 1 1 auto; flex-direction: column; gap: 12px; padding: 24px; }
#main-content > .blog .article-category { color: #304dcc; font-family: inherit; font-size: 13px; font-weight: 700; line-height: 1.5; }
#main-content > .blog .article-title { margin: 0; color: #203653; font-family: inherit; font-size: 22px; font-weight: 700; line-height: 1.5; }
#main-content > .blog .article-description { margin: 0; color: #53647a; font-family: inherit; font-size: 16px; line-height: 1.85; }
#main-content > .blog .read-more-text { margin-block-start: auto; padding-block-start: 8px; color: #304dcc; font-family: inherit; font-size: 15px; font-weight: 700; }
#main-content > .blog .pagination__wrapper { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 40px auto 0; padding: 0; list-style: none; }
#main-content > .blog .page-link { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; margin: 0; padding: 8px 12px; border: 1px solid #d7e1f1; border-radius: 9px; color: #304dcc; font-size: 15px; line-height: 1.4; text-decoration: none; }
#main-content > .blog .page-item.active .page-link { border-color: #4263eb; background: #4263eb; color: #fff; }
#main-content > .blog .page-item.disabled .page-link { background: #f6f8fc; color: #65748c; }
.article-wrapper.blog-article { box-sizing: border-box; width: calc(100% - 48px); max-width: 920px; margin: 56px auto 80px; padding: 0; color: #182c48; }
.article-wrapper.blog-article .blog-article-title { margin: 0 0 18px; color: #182c48; font-family: inherit; font-size: clamp(32px, 3.8vw, 48px); font-weight: 800; line-height: 1.3; letter-spacing: -.7px; }
.article-wrapper.blog-article .blog-article-date { margin-block-end: 28px; color: #68788e; font-family: inherit; font-size: 14px; line-height: 1.6; }
.article-wrapper.blog-article .blog-article-image { max-width: 100%; margin: 0 0 34px; overflow: hidden; border-radius: 18px; }
.article-wrapper.blog-article .blog-article-image img { display: block; max-width: 100%; width: 100%; height: auto; max-height: 480px; object-fit: cover; }
.article-wrapper.blog-article .blog-article-content { max-width: 780px; margin-inline: auto; color: #455872; font-family: inherit; font-size: 18px; line-height: 1.95; }
.article-wrapper.blog-article .blog-article-content h2 { margin: 40px 0 16px; color: #203653; font-family: inherit; font-size: 29px; font-weight: 700; line-height: 1.45; }
.article-wrapper.blog-article .blog-article-content h3 { margin: 28px 0 12px; color: #203653; font-family: inherit; font-size: 23px; font-weight: 700; line-height: 1.5; }
.article-wrapper.blog-article .blog-article-content p { margin: 0 0 20px; font-size: inherit; line-height: inherit; }
.article-wrapper.blog-article .blog-article-content :is(ul, ol) { margin: 18px 0 26px; padding-inline-start: 26px; }
.article-wrapper.blog-article .blog-article-content li { margin-block: 8px; }
.article-wrapper.blog-article .blog-article-content a { color: #304dcc; text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.article-wrapper.blog-article .blog-article-content img { max-width: 100%; height: auto; }
.article-wrapper.blog-article .blog-article-content .myb-article-lead { padding: 22px 26px; border-inline-start: 4px solid #4263eb; border-radius: 12px; background: #f0f5ff; color: #2c466c; font-size: 20px; line-height: 1.85; }

/* Tablet and phone adaptations. */
@media (max-width: 1100px) {
  .myb-site .ms-hero-grid,
  .myb-site .ms-split { gap: 36px; }
  .myb-site .ms-card,
  .myb-site .ms-step { padding: 24px; }
  .myb-site .ms-plan.pro { padding: 23px; }
  .myb-site .ms-grid,
  .myb-site .ms-steps { gap: 20px; }
  .myb-site h1 { font-size: clamp(38px, 4.8vw, 53px); }
  #header .header-content { gap: 20px; }
  #header .main-navigation .mod-menu { gap: 18px; }
  #header .logo-section img { width: 174px; }
  #footer .footer-content { gap: 28px; }
}
@media (min-width: 901px) {
  #header .main-navigation { display: block; }
  #header .header-actions .menu_demo { display: block; }
  #header .mobile-menu-toggle { display: none; }
}
@media (max-width: 900px) {
  .myb-site .ms-hero { padding-block: 54px 60px; }
  .myb-site .ms-hero-grid,
  .myb-site .ms-split { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .myb-site .ms-hero-grid > :first-child { max-width: 720px; }
  .myb-site .ms-visual { width: 100%; max-width: 640px; margin-inline: auto; }
  .myb-site .ms-section { padding-block: 64px; }
  .myb-site .ms-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .myb-site .ms-grid.plans { grid-template-columns: minmax(0, 1fr); max-width: 620px; margin-inline: auto; }
  .myb-site .ms-plan > p:not(.ms-note) { min-height: 0; }
  .myb-site .ms-plan { padding: 32px; }
  .myb-site .ms-plan.pro { padding: 31px; }
  .myb-site .ms-head { align-items: flex-start; flex-direction: column; gap: 18px; }
  .myb-site .ms-head > div { max-width: none; }
  .myb-site .ms-cta { grid-template-columns: minmax(0, 1fr); gap: 26px; padding: 36px; }
  .myb-site .ms-cta .ms-btn { justify-self: start; }
  .myb-site .ms-band strong { font-size: 18px; }
  .myb-site .ms-band span { font-size: 14px; }
  .myb-site .ms-band-grid > div { padding-inline: 14px; }
  .myb-live-demo .live-info { flex-direction: column; gap: 6px; }
  .myb-live-demo .live-lower { padding-block: 54px 64px; }
  #header .header-content { height: 76px; }
  #header .main-navigation { display: none; }
  #header .mobile-menu-toggle { display: inline-flex; }
  #header .header-phone { display: inline-flex; }
  #header .header-actions .menu_demo { display: none; }
  #header .logo-section img { width: 180px; }
  #footer .footer-content { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
  #footer .footer-brand { max-width: none; }
  #main-content > .blog .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .article-wrapper.blog-article { margin-block-start: 40px; }
}
@media (max-width: 600px) {
  .myb-site { font-size: 17px; }
  .myb-site .ms-wrap,
  #header .header-container,
  #footer .footer-container,
  .faq-section .faq-container,
  .glossary-section .glossary-container,
  .terms-section .terms-container,
  #main-content > .blog,
  .article-wrapper.blog-article { width: calc(100% - 36px); }
  .myb-site h1 { margin-block-end: 20px; font-size: 38px; line-height: 1.2; letter-spacing: -.8px; }
  .myb-site h2 { font-size: 29px; line-height: 1.35; letter-spacing: -.4px; }
  .myb-site h3 { font-size: 21px; }
  .myb-site .ms-hero { padding-block: 40px 46px; }
  .myb-site .ms-kicker { margin-block-end: 16px; font-size: 13px; }
  .myb-site .ms-lead { margin-block-end: 24px; font-size: 18px; line-height: 1.85; }
  .myb-site .ms-actions { flex-direction: column; align-items: stretch; gap: 10px; }
  .myb-site .ms-btn { min-height: 50px; font-size: 16px; }
  .myb-site .ms-photo { border-radius: 18px; }
  .myb-site .ms-float { inset-inline-start: 12px; inset-block-end: 14px; max-width: calc(100% - 24px); gap: 10px; padding: 11px 13px; border-radius: 12px; font-size: 12px; }
  .myb-site .ms-float strong { font-size: 14px; }
  .myb-site .ms-check { flex-basis: 32px; width: 32px; height: 32px; font-size: 19px; }
  .myb-site .ms-band-grid { grid-template-columns: minmax(0, 1fr); }
  .myb-site .ms-band-grid > div { padding-block: 18px; }
  .myb-site .ms-band-grid > div + div { border-inline-start: 0; border-block-start: 1px solid #dde6f5; }
  .myb-site .ms-band strong { font-size: 20px; }
  .myb-site .ms-section { padding-block: 48px; }
  .myb-site .ms-section:has(.ms-cta) { padding-block: 42px 50px; }
  .myb-site .ms-head { margin-block-end: 26px; }
  .myb-site .ms-grid,
  .myb-site .ms-steps { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .myb-site .ms-card,
  .myb-site .ms-step { padding: 24px; border-radius: 16px; }
  .myb-site .ms-card p { font-size: 16px; }
  .myb-site .ms-icon { margin-block-end: 16px; }
  .myb-site .ms-split { gap: 30px; }
  .myb-site .ms-list li { font-size: 16px; }
  .myb-site .ms-mock { border-radius: 16px; }
  .myb-site .ms-mock-top { padding: 17px 18px; }
  .myb-site .ms-mock-body { padding: 18px 16px; }
  .myb-site .ms-mock-footer { padding: 12px 18px; }
  .myb-site .ms-apt { grid-template-columns: 44px minmax(0, 1fr); gap: 9px; }
  .myb-site .ms-apt > div { padding: 12px; }
  .myb-site .ms-apt strong { font-size: 15px; }
  .myb-site .ms-apt small { font-size: 12px; }
  .myb-site .ms-apt time { font-size: 13px; }
  .myb-site .ms-faq { margin-block-start: 24px; }
  .myb-site .ms-faq summary { padding: 18px; padding-inline-end: 50px; font-size: 17px; }
  .myb-site .ms-faq summary::after { inset-inline-end: 18px; }
  .myb-site .ms-faq details > p { padding: 0 18px 20px; font-size: 16px; }
  .myb-site .ms-cta { padding: 28px 24px; border-radius: 18px; }
  .myb-site .ms-cta h2 { font-size: 28px; }
  .myb-site .ms-cta p { font-size: 16px; }
  .myb-site .ms-cta .ms-btn { width: 100%; justify-self: stretch; }
  .myb-site .ms-plan.pro { padding: 23px; }
  .myb-site .ms-plan h2 { font-size: 30px; }
  .myb-site .ms-price { min-height: 72px; font-size: 54px; }
  .myb-site .ms-table-scroll :is(th, td) { padding: 14px 16px; }
  .myb-live-demo .live-intro { padding-block: 40px 28px; }
  .myb-live-demo .live-intro p { font-size: 17px; }
  .myb-live-demo .live-layout { padding-block-end: 36px; }
  .myb-live-demo .live-info { padding: 18px; font-size: 15px; }
  .myb-live-demo .live-lower { padding-block: 44px 50px; }
  .myb-live-demo .live-checklist { padding: 24px; border-radius: 16px; }
  #header .header-content { height: 72px; gap: 12px; }
  #header .logo-section img { width: 162px; }
  #header .logo-text { font-size: 11px; }
  #header .header-actions { gap: 8px; }
  #footer { padding-block: 40px 24px; }
  #footer .footer-content { gap: 28px 20px; margin-block-end: 32px; }
  #footer .footer-brand { grid-column: 1 / -1; max-width: 360px; }
  #footer .footer-bottom { align-items: flex-start; flex-direction: column; gap: 18px; }
  #footer .footer-logo img { width: 170px; }
  :is(.faq-section, .glossary-section, .terms-section) { padding-block: 42px 54px; }
  .faq-section .faq-title,
  .glossary-section .glossary-title { font-size: 34px; }
  .faq-section .faq-description,
  .glossary-section .glossary-description { font-size: 17px; }
  .faq-section .faq-question { gap: 14px; padding: 18px; }
  .faq-section .faq-question-text { font-size: 17px; }
  .faq-section .faq-answer { font-size: 16px; }
  .glossary-section .glossary-item { padding: 22px; }
  .glossary-section .glossary-term { font-size: 21px; }
  .glossary-section .glossary-definition { font-size: 17px; }
  .terms-section .terms-container { padding: 28px 22px; border-radius: 16px; }
  .terms-section .terms-title { font-size: 32px; }
  .terms-section h2 { font-size: 23px; }
  .terms-section :is(p, li) { font-size: 16px; }
  #main-content > .blog { padding-block: 42px 54px; }
  #main-content > .blog .blog-title { font-size: 34px; }
  #main-content > .blog .blog-subtitle { font-size: 17px; }
  #main-content > .blog .blog-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 20px !important; }
  #main-content > .blog .article-content { padding: 22px; }
  #main-content > .blog .article-title { font-size: 22px; }
  .article-wrapper.blog-article { margin-block: 32px 54px; }
  .article-wrapper.blog-article .blog-article-title { font-size: 32px; line-height: 1.35; }
  .article-wrapper.blog-article .blog-article-content { font-size: 17px; line-height: 1.9; }
  .article-wrapper.blog-article .blog-article-content h2 { font-size: 25px; }
  .article-wrapper.blog-article .blog-article-content h3 { font-size: 21px; }
  .article-wrapper.blog-article .blog-article-content .myb-article-lead { padding: 18px 20px; font-size: 18px; }
}
@media (max-width: 380px) {
  .myb-site h1 { font-size: 34px; }
  .myb-site h2 { font-size: 27px; }
  .myb-site .ms-card,
  .myb-site .ms-step { padding: 20px; }
  .myb-site .ms-plan.pro { padding: 19px; }
  .myb-site .ms-mock-top strong { font-size: 19px; }
  .myb-site .ms-float { padding: 10px; gap: 8px; }
  .myb-site .ms-float strong { font-size: 13px; }
  #header .logo-section img { width: 143px; }
  #header .header-phone { width: 36px; height: 36px; }
  #header .header-actions { gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .myb-site *,
  #header *,
  #footer *,
  .faq-section *,
  .glossary-section *,
  .terms-section *,
  #main-content > .blog *,
  .article-wrapper.blog-article * {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}
@media print {
  .myb-skip-link,
  #header,
  #footer { display: none !important; }
  .myb-site .ms-wrap,
  .article-wrapper.blog-article { width: 100%; max-width: none; }
  .myb-site .ms-section,
  .myb-site .ms-hero { padding-block: 20px; background: #fff; }
  .myb-site :is(.ms-card, .ms-plan, .ms-mock, .ms-cta) { box-shadow: none; break-inside: avoid; }
  .myb-site .ms-cta { background: #fff; border: 1px solid #aebbd0; }
  .myb-site .ms-cta :is(h2, p) { color: #182c48; }
  .myb-site .ms-table-scroll { overflow: visible; }
  .myb-site .ms-table-scroll table { min-width: 0; }
}

/* Contact layout: scoped to the public contact component. */
#main-content .contact { color: #172b4d; font: 16px/1.75 Heebo, Arial, sans-serif; }
#main-content .contact .contact-header-section { padding: 64px 0 36px; background: linear-gradient(180deg, #f3f6ff 0%, #fff 100%); }
#main-content .contact .contact-header-container,
#main-content .contact .contact-container { width: calc(100% - 48px); max-width: 1200px; margin: 0 auto; padding: 0; }
#main-content .contact .contact-main-title { margin: 0 0 16px; color: #172b4d; font: 800 clamp(34px, 4vw, 52px)/1.25 Heebo, Arial, sans-serif; letter-spacing: -1px; }
#main-content .contact .contact-title-accent { color: #4263eb; }
#main-content .contact .contact-main-subtitle { max-width: 640px; margin: 0 auto; color: #56647a; font: 400 18px/1.8 Heebo, Arial, sans-serif; }
#main-content .contact .animate-on-scroll { opacity: 1; transform: none; animation: none; transition: none; }
#main-content .contact .contact-main-section { padding: 32px 0 80px; }
#main-content .contact .contact-layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 48px; align-items: start; }
#main-content .contact .contact-form-column,
#main-content .contact .contact-info-column { min-width: 0; width: 100%; padding: 0; }
#main-content .contact .contact-form { background: #fff; border: 1px solid #e0e6f2; border-radius: 24px; padding: 32px; box-shadow: 0 18px 50px rgba(25, 48, 94, .07); }
#main-content .contact #contant-header { margin: 0 0 22px; font: 700 26px/1.4 Heebo, Arial, sans-serif; color: #172b4d; }
#main-content .contact #contact-form .form-label { display: block; margin: 18px 0 7px; color: #243651; font: 600 16px/1.5 Heebo, Arial, sans-serif; }
#main-content .contact #contact-form input[type="text"],
#main-content .contact #contact-form input[type="email"],
#main-content .contact #contact-form input[type="tel"],
#main-content .contact #contact-form textarea:not(.g-recaptcha-response) { display: block; box-sizing: border-box; width: 100%; max-width: 100%; min-height: 50px; margin: 0; padding: 12px 15px; border: 1px solid #cbd5e4; border-radius: 10px; background: #fff; color: #172b4d; font: 400 16px/1.6 Heebo, Arial, sans-serif; box-shadow: none; }
#main-content .contact #contact-form textarea:not(.g-recaptcha-response) { min-height: 136px; resize: vertical; }
#main-content .contact #contact-form input[type="email"],
#main-content .contact #contact-form input[type="tel"] { direction: ltr; text-align: right; }
#main-content .contact #contact-form input:focus-visible,
#main-content .contact #contact-form textarea:focus-visible { outline: 3px solid #becbff; outline-offset: 2px; border-color: #4263eb; }
#main-content .contact #contact-form .captcha-reg { margin: 22px 0; max-width: 100%; }
#main-content .contact #contact-form .big-button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; margin: 20px 0 0; padding: 12px 24px; border: 1px solid #4263eb; border-radius: 11px; background: #4263eb; color: #fff; font: 600 17px/1.5 Heebo, Arial, sans-serif; }
#main-content .contact #contact-form .big-button:hover { background: #304fce; border-color: #304fce; }
#main-content .contact #contact-form .big-button:focus-visible { outline: 3px solid #91a6ff; outline-offset: 4px; }
#main-content .contact .contact-info-wrapper { padding: 16px 0 24px; }
#main-content .contact .contact-info-list { display: grid; gap: 26px; }
#main-content .contact .contact-info-item { display: flex; gap: 16px; align-items: start; margin: 0; }
#main-content .contact .contact-info-icon { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 48px; background: #edf1ff; color: #4263eb; border-radius: 13px; }
#main-content .contact .contact-info-content { min-width: 0; }
#main-content .contact .contact-info-label { color: #172b4d; font: 700 18px/1.5 Heebo, Arial, sans-serif; }
#main-content .contact .contact-info-description,
#main-content .contact .contact-info-value { color: #56647a; font: 400 16px/1.8 Heebo, Arial, sans-serif; }
#main-content .contact .contact-info-value a { display: inline-block; color: #304fce; direction: ltr; unicode-bidi: isolate; font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: 4px; overflow-wrap: anywhere; }
#main-content .contact .contact-map-wrapper { height: 280px; min-height: 0; margin-top: 20px; overflow: hidden; border: 1px solid #e0e6f2; border-radius: 20px; background: #f5f7fb; }
#main-content .contact .contact-map-wrapper iframe { display: block; width: 100%; height: 100%; border: 0; }
@media (max-width: 900px) {
  #main-content .contact .contact-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  #main-content .contact .contact-info-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  #main-content .contact .contact-header-container,
  #main-content .contact .contact-container { width: calc(100% - 32px); }
  #main-content .contact .contact-header-section { padding: 40px 0 24px; }
  #main-content .contact .contact-main-section { padding: 20px 0 48px; }
  #main-content .contact .contact-main-subtitle { font-size: 16px; }
  #main-content .contact .contact-form { padding: 20px 16px; border-radius: 18px; }
  #main-content .contact .contact-info-list { grid-template-columns: minmax(0, 1fr); }
  #main-content .contact .contact-map-wrapper { height: 240px; }
}

/* Legacy article card headings retain the shared card scale. */
#main-content > .blog .article-title h2 { margin: 0; color: inherit; font: inherit; }
.faq-section, .glossary-section, .terms-section { font-family: Heebo, "Assistant Regular", Arial, sans-serif; }

/* Preserve complete editorial photos, including text embedded in older assets. */
#main-content > .blog .article-card-link > img.article-image {
  flex: 0 0 auto;
  width: 100%;
  height: auto !important;
  aspect-ratio: 4 / 3;
  object-fit: contain !important;
  background: #f0f4fa;
}
.article-wrapper.blog-article .blog-article-image { background: #f0f4fa; }
.article-wrapper.blog-article .blog-article-image img {
  width: 100%;
  height: auto;
  max-height: 560px;
  object-fit: contain;
}
