.lunax-contact-actions{--lx-accent:#7c3aed;position:fixed;right:24px;bottom:24px;z-index:990;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.lunax-contact-actions.is-editor{position:static}
.lunax-contact-action{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 18px;border-radius:28px;background:var(--lx-accent);color:#fff!important;font:700 14px/1.2 'Red Hat Text',sans-serif;box-shadow:0 5px 18px #21113e24;transition:transform .2s,box-shadow .2s}
.lunax-contact-action svg{width:22px;height:22px;fill:currentColor;flex-shrink:0}
.lunax-contact-text{display:flex;flex-direction:column;gap:3px;text-align:left}.lunax-contact-text>span{font-size:11px;font-weight:500}.lunax-contact-text>strong{font-size:14px;font-weight:700;white-space:nowrap}
.lunax-contact-action.action-whatsapp{background:#168a51}
.lunax-contact-action:focus-visible{outline:3px solid #c4a0ff;outline-offset:4px}
body #back-to-top,body #back-to-top.show{right:24px;bottom:190px}
.lunax-office-map{position:relative;display:grid;place-items:center;overflow:hidden;border-radius:18px;border:1px solid #e5d9f4;background:#f8f4ff;scroll-margin-top:100px}
.lunax-office-map iframe{display:block;width:100%;border:0}
.lunax-map-placeholder{max-width:340px;padding:32px;text-align:center;color:#62586e;font-size:16px;line-height:1.75}
.lunax-map-placeholder[hidden]{display:none}
.lunax-map-placeholder svg{width:46px;height:46px;fill:#7c3aed;margin-bottom:20px}
.contact-office.is-selected>.elementor-widget-wrap{border-color:#a579e9!important;box-shadow:0 8px 24px #7c3aed18}
@media(hover:hover){.lunax-contact-action:hover{transform:translateY(-3px);box-shadow:0 9px 24px #21113e35}}
@media(max-width:767px){.lunax-contact-actions{right:12px;bottom:max(12px,env(safe-area-inset-bottom));gap:8px}.lunax-contact-action{min-height:44px;padding:8px 13px;gap:8px}.lunax-contact-text>span{font-size:10px}.lunax-contact-text>strong{font-size:12px}.lunax-contact-action svg{width:20px;height:20px}body #back-to-top,body #back-to-top.show{right:12px;bottom:154px;width:40px;height:40px;line-height:40px}.lunax-map-placeholder{font-size:15px}}
@media(prefers-reduced-motion:reduce){.lunax-contact-action{transition:none}.lunax-contact-action:hover{transform:none}}

/* Keep blog tag chips separate when they wrap onto another row. */
.single-post .entry-footer .tagcloud,
.single-post .widget .tagcloud {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.single-post .entry-footer .tagcloud a,
.single-post .widget .tagcloud a {
  max-width: 100%;
  margin: 0;
}

/* Preserve spacing in the two verbatim user-supplied homepage documents. */
.elementor-153 .elementor-element-3a0b284 .elementor-widget-text-editor p,
.elementor-153 .elementor-element-3a0b284 .elementor-tab-content p,
.elementor-153 .elementor-element-3a0b284 .elementor-tab-content h3,
.elementor-153 .elementor-element-bb9d4a8 .elementor-tab-content p,
.elementor-153 .elementor-element-bb9d4a8 .elementor-toggle-title {
  white-space: pre-wrap;
}

/* Match the about photo to the adjacent content, without its intrinsic height sizing the row. */
@media (min-width: 768px) {
  .elementor-154 .elementor-element-bdd7c4e > .elementor-container {
    align-items: stretch;
  }

  .elementor-154 .elementor-element-bdd7c4e .elementor-element-bf90231 > .elementor-widget-wrap > .elementor-widget:last-child {
    margin-bottom: 0;
  }

  .elementor-154 .elementor-element-bdd7c4e .elementor-element-b5d7594 > .elementor-widget-wrap {
    align-items: stretch !important;
    align-content: stretch !important;
  }

  .elementor-154 .elementor-element-bdd7c4e .elementor-element-bc35425 {
    position: relative;
    flex: 1 1 100%;
    align-self: stretch;
    min-height: 0;
    margin-bottom: 0;
    overflow: hidden;
  }

  .elementor-154 .elementor-element-bdd7c4e .elementor-element-bc35425 img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}

/* Background-only service columns need their own height when columns stack. */
@media (max-width: 767px) {
  .elementor .elementor-column.service-visual > .elementor-widget-wrap {
    min-width: 0;
    min-height: 240px;
    aspect-ratio: 4 / 3;
  }
}

/* Mobile layout: one outer gutter, consistent cards and readable type. */
@media (max-width: 767px) {
  body #content .elementor[data-elementor-type="wp-page"] > .elementor-top-section {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] > .elementor-top-section > .elementor-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] > :where(.elementor-top-section) > :where(.elementor-container) > :where(.elementor-column) > .elementor-widget-wrap {
    padding: 0 !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] > .onum-agency-section {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-copy,
  body #content .elementor[data-elementor-type="wp-page"] .agency-copy p {
    font-size: 16px !important;
    line-height: 1.75 !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-heading .main-heading {
    font-size: 26px !important;
    line-height: 1.3 !important;
    letter-spacing: -.4px;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-services > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-rows: auto !important;
    gap: 16px !important;
    padding: 0 !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-card {
    width: 100% !important;
    min-width: 0;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-card > .elementor-widget-wrap {
    margin: 0 !important;
    padding: 20px !important;
    border-radius: 18px !important;
    transform: none !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-card > .elementor-widget-wrap > .elementor-widget-icon {
    margin-bottom: 14px !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-card .elementor-icon {
    font-size: 32px !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-card .elementor-icon svg {
    width: 32px !important;
    height: 32px !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-card .agency-service,
  body #content .elementor[data-elementor-type="wp-page"] .agency-card .agency-service > .elementor-widget-container,
  body #content .elementor[data-elementor-type="wp-page"] .agency-card .service-box-2 {
    height: auto !important;
    min-height: 0 !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-card .agency-service > .elementor-widget-container {
    margin: 0 !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-service .service-box-title {
    font-size: 22px !important;
    line-height: 1.3 !important;
    margin-bottom: 10px !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-service p {
    font-size: 16px !important;
    line-height: 1.65 !important;
    margin-bottom: 18px !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-service .octf-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 7px 8px 7px 16px !important;
    font-size: 14px !important;
    line-height: 1.3;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-service .octf-btn i {
    margin-left: 0;
    width: 30px;
    height: 30px;
    line-height: 30px;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-process-grid > .elementor-container {
    gap: 18px !important;
    grid-auto-rows: auto !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-process .process-box {
    display: grid !important;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    text-align: left;
    align-items: start !important;
    min-height: 0 !important;
    padding: 20px !important;
    border-radius: 18px !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-process .number-box {
    position: static;
    width: 44px;
    height: 44px;
    line-height: 44px;
    margin: 0;
    font-size: 20px;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-process .icon-main {
    width: 32px !important;
    height: 32px !important;
    margin: 6px 0 0 !important;
    justify-self: end;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-process .icon-main svg {
    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-process .content-box {
    grid-column: 1 / -1;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-process .process-box-title {
    font-size: 21px !important;
    margin-bottom: 10px;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-process .content-box p {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-hero .swiper-slide > .e-con {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-hero h1,
  body #content .elementor[data-elementor-type="wp-page"] .agency-hero h2 {
    font-size: 30px !important;
    line-height: 1.22 !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-hero p {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-price > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap,
  body #content .elementor[data-elementor-type="wp-page"] .agency-about-details > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap {
    padding: 20px !important;
    border-radius: 18px !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-about-details > .elementor-container,
  body #content .elementor[data-elementor-type="wp-page"] .elementor-element-bdd7c4e > .elementor-container {
    row-gap: 24px;
  }
  body #content .elementor[data-elementor-type="wp-page"] .elementor-element-bc35425 img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 18px;
  }
  body #content .elementor[data-elementor-type="wp-page"] .service-visual > .elementor-widget-wrap {
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-height: 220px !important;
    aspect-ratio: 16 / 10 !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .service-faq-columns > .elementor-container,
  body #content .elementor[data-elementor-type="wp-page"] .contact-offices-grid > .elementor-container {
    padding: 0 !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .agency-faq .elementor-tab-title,
  body #content .elementor[data-elementor-type="wp-page"] .agency-faq .elementor-tab-content {
    padding: 16px !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .contact-office > .elementor-widget-wrap,
  body #content .elementor[data-elementor-type="wp-page"] .contact-form-panel > .elementor-widget-wrap {
    padding: 20px !important;
    border-radius: 18px !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .contact-method .des,
  body #content .elementor[data-elementor-type="wp-page"] .contact-method .des a {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }
  body #content .elementor[data-elementor-type="wp-page"] .contact-directions .elementor-button {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: 14px !important;
  }
  body .page-header {
    height: auto !important;
    padding: 34px 0 !important;
  }
  body .page-header .page-title {
    font-size: 28px;
    line-height: 1.25;
  }
  body .elementor-359 .elementor-element-a71002e {
    padding: 32px 18px 150px !important;
  }
  body .elementor-359 .elementor-element-a71002e > .elementor-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body .elementor-359 .elementor-element-a710012 {
    padding: 20px !important;
    margin-bottom: 28px !important;
  }
  body .elementor-359 .elementor-element-a71000d .elementor-heading-title {
    font-size: 26px !important;
    line-height: 1.25 !important;
  }
  body .elementor-359 .onum-office-card {
    padding: 18px !important;
  }
  body.single-post .entry-summary { padding-bottom: 30px; }
  body.single-post .lunax-blog-faq__item > summary {
    min-height: 60px;
    padding: 16px;
    gap: 12px;
    font-size: 16px;
    line-height: 1.5;
  }
  body.single-post .lunax-blog-faq__answer {
    padding: 0 16px 18px;
    font-size: 16px;
    line-height: 1.7;
  }
  body .lunax-contact-action {
    width: 48px;
    height: 48px;
    min-height: 48px;
    padding: 12px;
    border-radius: 50%;
  }
  body .lunax-contact-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  body .lunax-contact-action svg { width: 24px; height: 24px; }
}

/* Taller hero and tighter client/footer spacing. */
body #content .elementor-153 .agency-hero .swiper-wrapper,
body #content .elementor-153 .agency-hero .swiper-slide > .e-con {
  min-height: 530px !important;
}
body #content .elementor-153 .agency-hero .swiper-slide > .e-con {
  justify-content: center;
}
body .agency-brand-grid .gallery { gap: 16px; }
body .agency-brand-grid .gallery-item {
  min-height: 104px;
  padding: 16px !important;
}
body .elementor.elementor-359 .elementor-element-a71002e {
  padding-top: 40px !important;
}
body .elementor.elementor-359 .elementor-element-a710012 { margin-bottom: 28px !important; }
body .elementor.elementor-359 .elementor-element-a710013 { margin: 20px 0 16px !important; }
body .elementor.elementor-359 .elementor-element-a710016,
body .elementor.elementor-359 .elementor-element-a71001d { margin-bottom: 20px !important; }
body .elementor.elementor-359 .elementor-element-a710022 { margin-bottom: 16px !important; }
body .elementor.elementor-359 .elementor-element-a710023 { margin-bottom: 18px !important; }
body .elementor.elementor-359 .elementor-element-a71002b { padding-top: 18px !important; }
@media (max-width: 767px) {
  body #content .elementor-153 .agency-hero .swiper-wrapper,
  body #content .elementor-153 .agency-hero .swiper-slide > .e-con {
    min-height: 500px !important;
  }
  body .agency-brand-grid .gallery { gap: 10px; }
  body .agency-brand-grid .gallery-item {
    min-height: 90px;
    padding: 10px !important;
  }
  body .agency-brand-grid .gallery-item img { height: 64px; }
  body .elementor.elementor-359 .elementor-element-a71002e {
    padding-top: 28px !important;
    padding-bottom: 48px !important;
  }
  body .elementor.elementor-359 .elementor-element-a710012 { margin-bottom: 20px !important; }
}

/* Keep the footer brand and phone icon/number compact and connected. */
body .elementor.elementor-359 .elementor-element-a710013 img {
  width: 150px !important;
  height: auto !important;
}
body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}
body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-img {
  flex: 0 0 34px !important;
  width: 34px !important;
  margin: 0 !important;
}
body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-img img {
  display: block;
  width: 34px !important;
  height: 34px !important;
}
body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-content {
  flex: 0 1 auto !important;
  width: auto !important;
}
body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-title {
  font-size: 24px !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  white-space: nowrap;
}
body .elementor.elementor-359 .elementor-element-a710029 {
  padding-right: 210px !important;
}
body .elementor.elementor-359 .elementor-element-a710029 .elementor-icon-list-items {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 0 !important;
}
body .elementor.elementor-359 .elementor-element-a710029 .elementor-icon-list-item {
  margin: 0 !important;
  padding: 0 !important;
}
body .elementor.elementor-359 .elementor-element-a710029 a { min-height: 28px; }
@media (max-width: 767px) {
  body .elementor.elementor-359 .elementor-element-a710013 img { width: 130px !important; }
  body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-title { font-size: 22px !important; }
  body .elementor.elementor-359 .elementor-element-a710029 { padding-right: 60px !important; }
  body .elementor.elementor-359 .elementor-element-a710029 .elementor-icon-list-items { justify-content: center; }
}

/* Give inner-page headers a little more vertical space. */
body .page-header.dtable {
  padding: 88px 0 !important;
}
body.single-post .single-page-header > .sing-page-header-content {
  padding-top: 76px !important;
  padding-bottom: 76px !important;
}
@media (max-width: 767px) {
  body .page-header.dtable { padding: 54px 0 !important; }
  body.single-post .single-page-header > .sing-page-header-content {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
}

/* Larger main phone number and a shorter welcome slider on wider screens. */
body .elementor.elementor-357 .onum-header-phone .elementor-image-box-title,
body .elementor.elementor-357 .onum-header-phone .elementor-image-box-title a {
  font-size: 20px !important;
  line-height: 1.3 !important;
  white-space: nowrap;
}
body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-title,
body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-title a {
  font-size: 30px !important;
  line-height: 1.3 !important;
}
@media (max-width: 767px) {
  body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-title,
  body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-title a {
    font-size: 26px !important;
  }
}
@media (min-width: 768px) {
  body #content .elementor.elementor-153 .agency-hero .swiper-wrapper,
  body #content .elementor.elementor-153 .agency-hero .swiper-slide > .e-con {
    min-height: 470px !important;
  }
}

/* Desktop footer phone size requested by the site owner. */
@media (min-width: 1025px) {
  body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-title,
  body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-title a {
    font-size: 72px !important;
  }
}

/* Fit the header phone alongside navigation on narrow laptops. */
@media (min-width: 1025px) and (max-width: 1199px) {
  body .elementor.elementor-357 .onum-header-phone.elementor-widget-image-box .elementor-image-box-title,
  body .elementor.elementor-357 .onum-header-phone.elementor-widget-image-box .elementor-image-box-title a {
    font-size: 18px !important;
  }
}

/* Responsive footer phone and matching support icon. */
body .elementor.elementor-359 .onum-footer-phone.elementor-widget-image-box .elementor-image-box-title,
body .elementor.elementor-359 .onum-footer-phone.elementor-widget-image-box .elementor-image-box-title a {
  font-size:60px!important;line-height:1.3!important;white-space:nowrap;
}
body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-wrapper {
  display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;
}
body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-img {
  flex:0 0 64px!important;width:64px!important;margin:0!important;
}
body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-img img {
  width:64px!important;height:64px!important;object-fit:contain;
}
@media (min-width:768px) and (max-width:1024px) {
  body .elementor.elementor-359 .onum-footer-phone.elementor-widget-image-box .elementor-image-box-title,
  body .elementor.elementor-359 .onum-footer-phone.elementor-widget-image-box .elementor-image-box-title a {font-size:40px!important;}
  body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-img {flex-basis:50px!important;width:50px!important;}
  body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-img img {width:50px!important;height:50px!important;}
}
@media (max-width:767px) {
  body .elementor.elementor-359 .onum-footer-phone.elementor-widget-image-box .elementor-image-box-title,
  body .elementor.elementor-359 .onum-footer-phone.elementor-widget-image-box .elementor-image-box-title a {font-size:clamp(24px,7.2vw,30px)!important;}
  body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-wrapper {gap:10px!important;}
  body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-img {flex-basis:40px!important;width:40px!important;}
  body .elementor.elementor-359 .onum-footer-phone .elementor-image-box-img img {width:40px!important;height:40px!important;}
}

/* Final desktop footer phone size: 48px. */
@media (min-width:1025px) {
  body .elementor.elementor-359 .onum-footer-phone.elementor-widget-image-box .elementor-image-box-title,
  body .elementor.elementor-359 .onum-footer-phone.elementor-widget-image-box .elementor-image-box-title a {font-size:48px!important;}
}

/* Keep the back-to-top arrow visible on its purple hover background. */
body #back-to-top:hover i:before {color:#fff!important;}


/* Comfortable footer spacing across screen sizes. */
body .elementor.elementor-359 .elementor-element-a71002e {
  padding-top: 56px !important;
  padding-bottom: 44px !important;
}
body .elementor.elementor-359 .elementor-element-a710012 { margin-bottom: 36px !important; }
body .elementor.elementor-359 .elementor-element-a710013 { margin: 28px 0 24px !important; }
body .elementor.elementor-359 .elementor-element-a710016,
body .elementor.elementor-359 .elementor-element-a71001d { margin-bottom: 28px !important; }
body .elementor.elementor-359 .elementor-element-a710022 { margin-bottom: 24px !important; }
body .elementor.elementor-359 .elementor-element-a710023 { margin-bottom: 28px !important; }
body .elementor.elementor-359 .elementor-element-a71002b { padding-top: 24px !important; }
@media (min-width: 768px) and (max-width: 1024px) {
  body .elementor.elementor-359 .elementor-element-a71002e {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
}
@media (max-width: 767px) {
  body .elementor.elementor-359 .elementor-element-a71002e {
    padding-top: 40px !important;
    padding-bottom: 64px !important;
  }
  body .elementor.elementor-359 .elementor-element-a710012 { margin-bottom: 28px !important; }
}
