/*
 Theme Name:   Compass Online Marketing
 Theme URI:    https://compassonlinemarketing.org
 Description:  Astra child theme - Compass dark brand (matches ai.compassonlinemarketing.org)
 Author:       Compass Online Marketing
 Template:     astra
 Version:      2.0.0
*/

/* =============================================
   COMPASS ONLINE MARKETING - WORDPRESS CSS
   compassonlinemarketing.org
   Astra + Elementor dark brand theme
   Matches ai.compassonlinemarketing.org
   ============================================= */

:root {
  --purple: #5b2eff;
  --green: #2ecc71;
  --bg-main: #1e2530;
  --bg-card: #253040;
  --bg-nav: #1a1f28;
  --bg-footer: #141920;
  --text-body: #c8c9cc;
  --text-white: #ffffff;
}

/* === GLOBAL BASE === */

body,
.ast-separate-container,
.ast-plain-container {
  background-color: #1e2530 !important;
  font-family: 'Lato', sans-serif !important;
  color: #c8c9cc !important;
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.entry-title,
.ast-archive-title {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  letter-spacing: 1px;
}

p,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor span,
.entry-content p {
  font-family: 'Lato', sans-serif !important;
  text-transform: none !important;
  color: #c8c9cc !important;
  line-height: 1.7;
}

/* Elementor text editor sub-headings used as body text */
.elementor-widget-text-editor h2,
.elementor-widget-text-editor h3,
.elementor-widget-text-editor h4 {
  color: #ffffff !important;
}

a {
  text-decoration: none !important;
  color: #2ecc71;
}
a:hover {
  color: #5b2eff;
}

/* Lists */
.elementor-widget-text-editor ul li,
.elementor-widget-text-editor ol li,
.elementor-icon-list-text,
.entry-content li {
  color: #c8c9cc !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

/* === ELEMENTOR SECTIONS (global) === */

.elementor-section,
.elementor-top-section,
.e-con,
.e-con-inner {
  background-color: #1e2530 !important;
}

.elementor-column-wrap,
.elementor-widget-wrap,
.elementor-element {
  background-color: transparent !important;
}

.elementor-container {
  max-width: 1140px !important;
}

/* === BUTTONS (global Elementor) === */

.elementor-button,
.elementor-button-link,
.ast-button,
input[type="submit"],
button[type="submit"],
.wp-block-button__link,
.wpcf7-submit {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 4px !important;
  border-radius: 6px !important;
  border: none !important;
  transition: all 0.3s ease !important;
}

/* Green button (primary CTA) - add class "btn-green" in Elementor */
.btn-green .elementor-button,
.elementor-button.btn-green,
.btn-green > .elementor-button-link,
a.btn-green {
  background-color: #2ecc71 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  box-shadow: 0 8px 24px rgba(46, 204, 113, 0.3) !important;
}
.btn-green .elementor-button:hover,
.elementor-button.btn-green:hover,
.btn-green > .elementor-button-link:hover,
a.btn-green:hover {
  background-color: #5b2eff !important;
  box-shadow: 0 8px 24px rgba(91, 46, 255, 0.4) !important;
}

/* Outline button - add class "btn-outline" in Elementor */
.btn-outline .elementor-button,
.elementor-button.btn-outline,
a.btn-outline {
  background-color: transparent !important;
  color: #5b2eff !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  border: 2px solid #5b2eff !important;
  box-shadow: none !important;
}
.btn-outline .elementor-button:hover,
.elementor-button.btn-outline:hover,
a.btn-outline:hover {
  background-color: #5b2eff !important;
  color: #ffffff !important;
  box-shadow: 0 8px 24px rgba(91, 46, 255, 0.4) !important;
}
.btn-outline .elementor-button:hover *,
.elementor-button.btn-outline:hover * {
  color: #ffffff !important;
}

/* Large CTA button - add class "btn-cta" in Elementor */
.btn-cta .elementor-button,
.elementor-button.btn-cta,
a.btn-cta {
  background-color: #2ecc71 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  letter-spacing: 5px !important;
  padding: 20px 52px !important;
  box-shadow: 0 8px 24px rgba(46, 204, 113, 0.3) !important;
}
.btn-cta .elementor-button:hover,
.elementor-button.btn-cta:hover,
a.btn-cta:hover {
  background-color: #5b2eff !important;
  box-shadow: 0 8px 24px rgba(91, 46, 255, 0.4) !important;
}

/* Default Elementor button fallback (green by default) */
.elementor-button {
  background-color: #2ecc71 !important;
  color: #ffffff !important;
}
.elementor-button:hover {
  background-color: #5b2eff !important;
}
.elementor-button-text {
  color: #ffffff !important;
}

/* === ASTRA HEADER / NAVIGATION === */

/* Full-width header background - covers entire viewport width */
.ast-primary-header-bar,
.site-header,
.main-header-bar,
.ast-primary-header,
.ast-main-header-wrap,
#ast-desktop-header,
.ast-desktop-header-content,
.ast-builder-menu,
.ast-header-break-point .main-header-bar,
header.site-header,
.ast-primary-header-bar .site-primary-header-wrap,
.site-primary-header-wrap,
.ast-primary-header-bar .ast-builder-grid-row,
.ast-builder-grid-row,
.ast-primary-header-bar .site-header-primary-section-left,
.ast-primary-header-bar .site-header-primary-section-center,
.ast-primary-header-bar .site-header-primary-section-right,
header .ast-builder-layout-element,
.ast-header-custom-item,
.ast-builder-menu-1,
.ast-above-header-bar,
.ast-below-header-bar,
#ast-desktop-header .ast-builder-grid-row-container {
  background-color: #1e2530 !important;
  background: #1e2530 !important;
  border-bottom: none !important;
}

/* Ensure header spans full width with no gaps */
.site-header,
.ast-primary-header-bar,
.main-header-bar {
  width: 100% !important;
  max-width: 100% !important;
}

/* Override any inline Astra customizer background */
.ast-primary-header-bar[style],
.site-primary-header-wrap[style],
.main-header-bar[style] {
  background-color: #1e2530 !important;
  background: #1e2530 !important;
}

/* Nuclear header fix - force ALL header descendants to same color */
header.site-header *,
#masthead *,
.ast-primary-header-bar *,
#ast-desktop-header * {
  background-color: transparent !important;
}
header.site-header,
#masthead,
.ast-primary-header-bar,
#ast-desktop-header {
  background-color: #1e2530 !important;
  background: #1e2530 !important;
}

/* Nav links */
.main-header-menu a,
.ast-header-break-point .main-header-menu a,
.main-navigation a,
.ast-builder-menu a,
.menu-item a,
.ast-nav-menu a,
.ast-header-sections-navigation a {
  font-family: 'Lato', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
  color: #c8c9cc !important;
  transition: color 0.25s ease !important;
}
.main-header-menu a:hover,
.ast-builder-menu a:hover,
.menu-item a:hover,
.ast-nav-menu a:hover,
.current-menu-item > a {
  color: #2ecc71 !important;
}

/* Site title / logo text */
.site-title a,
.ast-site-identity .site-title a,
.site-branding .site-title a {
  font-family: 'Oswald', sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 4px !important;
  color: #ffffff !important;
}

/* Mobile menu */
.ast-mobile-menu-buttons,
.ast-header-break-point .ast-mobile-menu-buttons .menu-toggle {
  color: #ffffff !important;
}
.ast-header-break-point .main-header-menu {
  background-color: #1e2530 !important;
}
.ast-header-break-point .main-header-menu a {
  color: #c8c9cc !important;
  border-color: rgba(255, 255, 255, 0.06) !important;
}
.ast-header-break-point .main-header-menu a:hover {
  color: #2ecc71 !important;
}

/* Dropdown submenus */
.main-header-menu .sub-menu,
.ast-builder-menu .sub-menu,
.ast-desktop-popup-content,
.ast-mobile-popup-content {
  background-color: #1e2530 !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
}
.main-header-menu .sub-menu a,
.ast-builder-menu .sub-menu a {
  color: #c8c9cc !important;
}
.main-header-menu .sub-menu a:hover,
.ast-builder-menu .sub-menu a:hover {
  color: #2ecc71 !important;
  background-color: rgba(46, 204, 113, 0.08) !important;
}

/* Get A Quote header button */
.ast-header-button a,
.ast-custom-button,
.menu-item.highlight a,
.ast-header-sections-navigation .menu-item-has-children.highlight > a {
  background-color: #2ecc71 !important;
  color: #ffffff !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 3px !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
}
.ast-header-button a:hover,
.ast-custom-button:hover {
  background-color: #5b2eff !important;
}

/* === HERO SECTION - add class "section-hero" in Elementor === */

.section-hero,
.section-hero.elementor-section,
.section-hero.e-con {
  background-color: #1e2530 !important;
  background-image:
    radial-gradient(ellipse at 30% 20%, rgba(91, 46, 255, 0.08) 0%, transparent 60%),
    radial-gradient(ellipse at 70% 80%, rgba(46, 204, 113, 0.06) 0%, transparent 50%) !important;
  padding-top: 80px !important;
  padding-bottom: 60px !important;
  text-align: center;
}
.section-hero .elementor-heading-title {
  font-size: 3.6rem !important;
  line-height: 1.15 !important;
  color: #ffffff !important;
  margin-bottom: 20px !important;
  font-weight: 700 !important;
}
.section-hero .elementor-widget-text-editor,
.section-hero .elementor-widget-text-editor p {
  text-transform: none !important;
  font-size: 1.15rem !important;
  font-weight: 400 !important;
  color: #c8c9cc !important;
  max-width: 580px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.7 !important;
}

/* Hero tag pill - add class "hero-tag" to an Elementor heading widget */
.hero-tag,
.hero-tag.elementor-widget {
  display: inline-block !important;
  background: #1a6b3a !important;
  border: 1px solid rgba(46, 204, 113, 0.3) !important;
  border-radius: 6px !important;
  padding: 10px 28px !important;
  white-space: nowrap !important;
  width: auto !important;
  max-width: none !important;
  margin-bottom: 24px !important;
}
.hero-tag .elementor-heading-title,
.hero-tag h2, .hero-tag span {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
  text-transform: uppercase !important;
  letter-spacing: 6px !important;
  color: #2ecc71 !important;
}

/* === STATS BAR - add class "section-stats" === */

.section-stats,
.section-stats.elementor-section,
.section-stats.e-con {
  background-color: #253040 !important;
  border-top: 1px solid rgba(46, 204, 113, 0.15) !important;
  border-bottom: 1px solid rgba(46, 204, 113, 0.15) !important;
  padding-top: 60px !important;
  padding-bottom: 60px !important;
  width: 100% !important;
  max-width: 100% !important;
}
.section-stats .elementor-heading-title,
.section-stats h3 {
  font-size: 1.8rem !important;
  color: #2ecc71 !important;
}
.section-stats .elementor-widget-text-editor,
.section-stats .elementor-widget-text-editor p {
  font-size: 0.95rem !important;
  color: #c8c9cc !important;
}
.section-stats .elementor-icon {
  background: rgba(46, 204, 113, 0.12) !important;
  border-radius: 50% !important;
  padding: 12px !important;
  width: 48px !important;
  height: 48px !important;
}
.section-stats .elementor-icon i,
.section-stats .elementor-icon svg {
  color: #2ecc71 !important;
  fill: #2ecc71 !important;
}

/* === SERVICES CARDS - add class "section-services" === */

.section-services,
.section-services.elementor-section,
.section-services.e-con {
  background-color: #1e2530 !important;
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}
.section-services .elementor-container,
.section-services .elementor-row,
.section-services .elementor-column {
  background-color: transparent !important;
}
.section-services > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading .elementor-heading-title,
.section-services .section-title .elementor-heading-title {
  font-size: 2.4rem !important;
  color: #ffffff !important;
  text-align: center;
}

/* Service cards - add class "service-card" to each column or inner section */
.service-card,
.service-card > .elementor-widget-wrap,
.service-card > .elementor-column-wrap > .elementor-widget-wrap {
  background-color: #253040 !important;
  border: none !important;
  border-left: 4px solid #2ecc71 !important;
  border-radius: 12px !important;
  padding: 40px 28px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.service-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.35) !important;
}
.service-card .elementor-icon {
  background: #2ecc71 !important;
  border-radius: 50% !important;
  padding: 15px !important;
  width: 56px !important;
  height: 56px !important;
  margin-bottom: 20px !important;
}
.service-card .elementor-icon i,
.service-card .elementor-icon svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}
.service-card .elementor-image img {
  filter: brightness(0) invert(1) !important;
}
.service-card h3,
.service-card .elementor-heading-title {
  font-size: 1.1rem !important;
  color: #ffffff !important;
  margin-bottom: 12px !important;
}
.service-card .elementor-widget-text-editor,
.service-card .elementor-widget-text-editor p {
  text-transform: none !important;
  color: #c8c9cc !important;
  font-size: 0.95rem !important;
  line-height: 1.65 !important;
}

/* "Learn More" link inside cards */
.service-card .elementor-button {
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.85rem !important;
  letter-spacing: 2px !important;
  color: #2ecc71 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
}
.service-card .elementor-button:hover {
  color: #5b2eff !important;
  background: transparent !important;
}
.service-card .elementor-button-text {
  color: inherit !important;
}

/* === HOW IT WORKS - add class "section-how" === */

.section-how,
.section-how.elementor-section,
.section-how.e-con {
  background-color: #253040 !important;
  border-top: 1px solid rgba(46, 204, 113, 0.1) !important;
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}
.section-how .elementor-heading-title {
  font-size: 2.4rem !important;
  color: #ffffff !important;
  text-align: center;
}
.section-how h3,
.section-how .elementor-widget-heading h3 {
  font-size: 1.3rem !important;
  color: #ffffff !important;
  margin-bottom: 12px !important;
}
.section-how .elementor-widget-text-editor p {
  max-width: 300px;
  margin: 0 auto;
}

/* === DEMO / VIDEO - add class "section-demo" === */

.section-demo,
.section-demo.elementor-section,
.section-demo.e-con {
  background: linear-gradient(135deg, #5b2eff 0%, #3a1fbf 100%) !important;
  padding-top: 100px !important;
  padding-bottom: 100px !important;
  text-align: center;
}
.section-demo .elementor-container,
.section-demo .elementor-column,
.section-demo .elementor-widget-wrap {
  background-color: transparent !important;
}
.section-demo .elementor-heading-title {
  color: #ffffff !important;
  font-size: 2.4rem !important;
}
.section-demo .elementor-widget-text-editor,
.section-demo .elementor-widget-text-editor p {
  color: rgba(255, 255, 255, 0.85) !important;
  text-transform: none !important;
  font-size: 1.05rem !important;
  max-width: 540px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.section-demo .elementor-widget-divider .elementor-divider-separator {
  background-color: rgba(255, 255, 255, 0.4) !important;
  border: none !important;
  height: 3px !important;
  width: 60px !important;
}
.section-demo .elementor-widget-video,
.section-demo .elementor-video {
  max-width: 720px !important;
  margin: 0 auto !important;
  border-radius: 12px !important;
  border: 2px solid rgba(255, 255, 255, 0.15) !important;
  overflow: hidden !important;
}

/* === CTA SECTION - add class "section-cta" === */

.section-cta,
.section-cta.elementor-section,
.section-cta.e-con {
  background-color: #1e2530 !important;
  border-top: 1px solid rgba(46, 204, 113, 0.1) !important;
  padding-top: 120px !important;
  padding-bottom: 120px !important;
  text-align: center;
}
.section-cta .elementor-heading-title {
  font-size: clamp(1.7rem, 3.5vw, 2.4rem) !important;
  color: #ffffff !important;
  max-width: 740px;
  margin: 0 auto 16px !important;
  line-height: 1.3 !important;
}
.section-cta .elementor-heading-title span,
.section-cta .elementor-heading-title em,
.section-cta .elementor-heading-title strong {
  color: #2ecc71 !important;
}
.section-cta .elementor-widget-text-editor,
.section-cta .elementor-widget-text-editor p {
  text-transform: none !important;
  font-size: 1.1rem !important;
  color: #c8c9cc !important;
  margin-bottom: 40px !important;
}

/* === ALT BACKGROUND SECTION - add class "section-alt" === */
/* Use for any section that should have the card/darker bg */

.section-alt,
.section-alt.elementor-section,
.section-alt.e-con {
  background-color: #253040 !important;
}

/* === ASTRA FOOTER === */

.site-footer,
.ast-footer-overlay,
.ast-small-footer,
.ast-footer-copyright,
footer.site-footer,
.site-below-footer-wrap,
.site-above-footer-wrap,
.ast-builder-footer-grid-columns,
.ast-footer-row,
.site-primary-footer-wrap,
.site-below-footer-wrap .ast-builder-grid-row {
  background-color: #141920 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  color: #c8c9cc !important;
}

.site-footer a,
.ast-footer-copyright a,
.ast-small-footer a {
  color: #c8c9cc !important;
}
.site-footer a:hover,
.ast-footer-copyright a:hover {
  color: #2ecc71 !important;
}

/* Footer headings */
.site-footer .widget-title,
.site-footer h4,
.ast-footer-row h4 {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  color: #ffffff !important;
}

/* Footer social icons */
.site-footer .ast-builder-social-element a,
.ast-footer-social-wrap a {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.06) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.25s ease !important;
}
.site-footer .ast-builder-social-element a:hover,
.ast-footer-social-wrap a:hover {
  background: #2ecc71 !important;
}
.site-footer .ast-builder-social-element svg,
.site-footer .ast-builder-social-element i,
.ast-footer-social-wrap svg,
.ast-footer-social-wrap i {
  color: #666 !important;
  fill: #666 !important;
  width: 16px !important;
  height: 16px !important;
  transition: all 0.25s ease !important;
}
.site-footer .ast-builder-social-element a:hover svg,
.site-footer .ast-builder-social-element a:hover i,
.ast-footer-social-wrap a:hover svg,
.ast-footer-social-wrap a:hover i {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Footer copyright text */
.ast-footer-copyright p,
.ast-small-footer p,
.site-below-footer-wrap p {
  color: rgba(200, 201, 204, 0.5) !important;
  font-size: 0.85rem !important;
}

/* === ELEMENTOR FORMS (contact page) === */

.elementor-form .elementor-field-group label,
.wpcf7 label {
  color: #c8c9cc !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}

.elementor-form .elementor-field,
.elementor-form .elementor-field-textual,
.wpcf7-form-control,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
textarea,
select {
  background-color: #253040 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 6px !important;
  padding: 12px 16px !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 0.95rem !important;
  transition: border-color 0.25s ease !important;
}
.elementor-form .elementor-field:focus,
.wpcf7-form-control:focus,
input:focus,
textarea:focus {
  border-color: #2ecc71 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(46, 204, 113, 0.15) !important;
}

::placeholder {
  color: rgba(200, 201, 204, 0.4) !important;
}

/* === ACCENT DIVIDERS === */

.elementor-widget-divider .elementor-divider-separator,
.accent-line .elementor-divider-separator {
  border: none !important;
  height: 3px !important;
  background-color: #2ecc71 !important;
  width: 60px !important;
  margin: 16px auto 0 !important;
  border-radius: 2px !important;
}

/* === ELEMENTOR ICON BOX === */

.elementor-widget-icon-box .elementor-icon {
  color: #2ecc71 !important;
  fill: #2ecc71 !important;
}
.elementor-widget-icon-box .elementor-icon i {
  color: #2ecc71 !important;
}
.elementor-widget-icon-box .elementor-icon-box-title {
  color: #ffffff !important;
}
.elementor-widget-icon-box .elementor-icon-box-description {
  color: #c8c9cc !important;
}

/* === ELEMENTOR IMAGE BOX === */

.elementor-widget-image-box .elementor-image-box-title {
  color: #ffffff !important;
}
.elementor-widget-image-box .elementor-image-box-description {
  color: #c8c9cc !important;
}

/* === WORDPRESS / ASTRA BLOG === */

.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-separate-container .comment-respond,
.ast-separate-container .ast-comment-list li {
  background-color: #253040 !important;
  border-radius: 12px !important;
}

.entry-title a {
  color: #ffffff !important;
}
.entry-title a:hover {
  color: #2ecc71 !important;
}

.entry-meta,
.entry-meta a,
.ast-blog-meta-info,
.read-more a {
  color: #c8c9cc !important;
}
.read-more a:hover {
  color: #2ecc71 !important;
}

/* Blog sidebar */
.widget,
.ast-separate-container .widget {
  background-color: #253040 !important;
  border-radius: 12px !important;
  color: #c8c9cc !important;
}
.widget-title {
  color: #ffffff !important;
}

/* === ASTRA BREADCRUMBS === */

.ast-breadcrumbs,
.ast-breadcrumbs a,
.trail-items li {
  color: #c8c9cc !important;
}
.ast-breadcrumbs a:hover {
  color: #2ecc71 !important;
}

/* === PAGE HEADER / TITLE AREA === */

.ast-page-header-section,
.entry-header {
  background-color: #253040 !important;
}

/* === SCROLLBAR (subtle brand touch) === */

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #1e2530; }
::-webkit-scrollbar-thumb {
  background: #253040;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover { background: #5b2eff; }

/* === RESPONSIVE === */

@media (max-width: 992px) {
  .section-hero .elementor-heading-title {
    font-size: 2.6rem !important;
  }
}

@media (max-width: 768px) {
  .section-hero {
    padding-top: 120px !important;
    padding-bottom: 80px !important;
  }
  .section-hero .elementor-heading-title {
    font-size: 2rem !important;
  }
  .section-cta .elementor-heading-title,
  .section-demo .elementor-heading-title {
    font-size: 1.7rem !important;
  }
  .btn-cta .elementor-button,
  .elementor-button.btn-cta {
    padding: 16px 32px !important;
    letter-spacing: 3px !important;
  }
  .service-card {
    margin-bottom: 20px !important;
  }
}

@media (max-width: 544px) {
  .section-hero .elementor-heading-title {
    font-size: 1.7rem !important;
  }
  .section-services .section-title .elementor-heading-title,
  .section-how .elementor-heading-title {
    font-size: 1.8rem !important;
  }
}
