/* Shared FAQ typography and controls; each page keeps its existing layout. */
body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) {
  --alms-faq-ink: #0f0f0f;
  --alms-faq-muted: #4a4742;
  --alms-faq-rule: #0f0f0f20;
  --alms-faq-accent: #ff595c;
}
body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) h2 {
  font-family: "Raleway", Arial, sans-serif !important;
  font-size: clamp(40px, 4.5vw, 64px) !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: -.045em !important;
  line-height: 1.18 !important;
  --framer-font-family: "Raleway", Arial, sans-serif;
  --framer-font-style: normal;
  --framer-font-weight: 600;
}
body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) h2 :is(em, i, span[style*="Playfair"], .alms-title-italic),
body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) h2 em :is(span, i) {
  font-family: "Playfair Display", Georgia, serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  --framer-font-family: "Playfair Display", Georgia, serif;
  --framer-font-style: italic;
  --framer-font-weight: 400;
}
body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) details,
body.alms-shared-navigation [data-framer-name="FAQ"] :has(> [data-framer-name="Question"]) {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--alms-faq-rule) !important;
  border-radius: 0 !important;
  color: var(--alms-faq-ink) !important;
  gap: 0 !important;
  padding: 0 !important;
  --border-top-width: 0px !important;
  --border-right-width: 0px !important;
  --border-bottom-width: 0px !important;
  --border-left-width: 0px !important;
}
body.alms-shared-navigation [data-framer-name="FAQ"] :is([data-framer-name="Desktop"], [data-framer-name="Mobile"], .framer-cKR92) {
  gap: 0 !important;
}
body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) summary,
body.alms-shared-navigation [data-framer-name="FAQ"] [data-framer-name="Question"] {
  align-items: center !important;
  background: transparent !important;
  border-radius: 0 !important;
  cursor: pointer;
  list-style: none;
  min-height: 80px !important;
  padding: 24px 44px 24px 0 !important;
  position: relative;
}
body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) summary,
body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) summary :is(h3, em, i, span),
body.alms-shared-navigation [data-framer-name="FAQ"] [data-framer-name="Question"] h3,
body.alms-shared-navigation [data-framer-name="FAQ"] [data-framer-name="Question"] h3 :is(em, i, span) {
  color: var(--alms-faq-ink) !important;
  font-family: "Raleway", Arial, sans-serif !important;
  font-size: 20px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: -.015em !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  --framer-font-family: "Raleway", Arial, sans-serif;
  --framer-font-size: 20px;
  --framer-font-style: normal;
  --framer-font-weight: 600;
  --framer-text-color: var(--alms-faq-ink);
}
body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) summary::-webkit-details-marker { display: none; }
body.alms-shared-navigation .alms-contact-question summary > .framer-hj02fz { display: none !important; }
body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) summary::after,
body.alms-shared-navigation [data-framer-name="FAQ"] [data-framer-name="Plus"] {
  align-items: center !important;
  background: var(--alms-faq-accent) !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: #fff !important;
  content: "+";
  display: flex !important;
  font: 400 22px/1 "Inter", Arial, sans-serif !important;
  height: 30px !important;
  justify-content: center !important;
  margin: 0 !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 30px !important;
}
body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) details[open] summary::after { content: "−"; }
body.alms-shared-navigation [data-framer-name="FAQ"] [data-framer-name="Plus"] > div { display: none !important; }
body.alms-shared-navigation [data-framer-name="FAQ"] [data-framer-name="Plus"]::before { content: "+"; }
body.alms-shared-navigation [data-framer-name="FAQ"] [data-framer-name="Open"] [data-framer-name="Plus"]::before { content: "−"; }
body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) details > div,
body.alms-shared-navigation [data-framer-name="FAQ"] [data-framer-name="Answer"] {
  color: var(--alms-faq-muted) !important;
  padding: 0 44px 24px 0 !important;
}
body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) details > div p,
body.alms-shared-navigation [data-framer-name="FAQ"] [data-framer-name="Answer"] p {
  color: var(--alms-faq-muted) !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  --framer-font-family: "Inter", Arial, sans-serif;
  --framer-font-size: 16px;
  --framer-font-weight: 400;
  --framer-text-color: var(--alms-faq-muted);
}
body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) details > div p + p { margin-top: 12px !important; }
body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) summary:focus-visible,
body.alms-shared-navigation [data-framer-name="FAQ"] :has(> [data-framer-name="Question"]):focus-visible { outline: 2px solid var(--alms-faq-accent); outline-offset: 4px; }
body.alms-help-mirror .qx-faq .qx-heading h2 { margin-top: 0 !important; }

/* Native pages use the same plain rows and dimensions as Contact. */
body:is(.alms-home-signature, .alms-project-route, .alms-booking-route) [data-framer-name="FAQ"] .framer-cKR92 {
  margin-inline: auto !important;
  max-width: 896px !important;
  width: 100% !important;
}
body:is(.alms-home-signature, .alms-project-route, .alms-booking-route) [data-framer-name="FAQ"] :has(> [data-framer-name="Question"]) {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--alms-faq-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
  width: 100% !important;
}
body:is(.alms-home-signature, .alms-project-route, .alms-booking-route) [data-framer-name="FAQ"] :has(> [data-framer-name="Question"])::before,
body:is(.alms-home-signature, .alms-project-route, .alms-booking-route) [data-framer-name="FAQ"] :has(> [data-framer-name="Question"])::after {
  border: 0 !important;
  content: none !important;
  display: none !important;
}
body:is(.alms-home-signature, .alms-project-route, .alms-booking-route) [data-framer-name="FAQ"] [data-framer-name="Question"] {
  box-sizing: border-box !important;
  width: 100% !important;
}
@media (max-width: 809.98px) {
  body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) h2 { font-size: clamp(38px, 9.6vw, 48px) !important; }
  body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) summary,
  body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) summary :is(h3, em, i, span),
  body.alms-shared-navigation [data-framer-name="FAQ"] [data-framer-name="Question"] h3,
  body.alms-shared-navigation [data-framer-name="FAQ"] [data-framer-name="Question"] h3 :is(em, i, span) { font-size: 18px !important; --framer-font-size: 18px; }
  body.alms-shared-navigation :is([data-framer-name="FAQ"], .qx-faq, .op-faq, .alms-pp-details, .alms-page-faq) summary,
  body.alms-shared-navigation [data-framer-name="FAQ"] [data-framer-name="Question"] { min-height: 72px !important; padding-block: 20px !important; }
}
