@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');


/* =========================================================================
   OZO CONSTRUCTION — SITE-WIDE CSS
   Per Novamira standards: ONE site-wide snippet. Add to this, do not create
   per-change duplicates. Each block has a /* --- label --- */ header so the
   file stays scannable.
   ========================================================================= */

/* --- foundation: smoother headings + balanced wrap --- */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  text-wrap: balance;
}
p, .elementor-widget-text-editor {
  text-wrap: pretty;
}

/* --- utility: eyebrow label (uppercase, tracked, with leading dash) --- */
.ozo-eyebrow .elementor-heading-title,
.ozo-eyebrow.elementor-widget-heading .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 0.78rem;
  color: var(--e-global-color-secondary);
}
.ozo-eyebrow .elementor-heading-title::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--e-global-color-primary);
  display: inline-block;
}
.ozo-eyebrow-light .elementor-heading-title::before { background: var(--e-global-color-4d7b654e); }
.ozo-eyebrow-light .elementor-heading-title { color: var(--e-global-color-4d7b654e); }

/* --- utility: italic serif emphasis inside a heading --- */
.ozo-serif-italic em,
.ozo-serif-italic i {
  font-family: 'Archivo', sans-serif;
  font-style: italic;
  font-weight: 400;
  color: var(--e-global-color-primary);
}

/* --- utility: pill button with arrow that slides on hover --- */
.ozo-btn .elementor-button {
  border-radius: 999px !important;
  padding: 14px 24px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}
.ozo-btn .elementor-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px -10px rgba(102,151,199,.45) !important;
}
.ozo-btn .elementor-button .elementor-button-icon {
  transition: transform .25s ease;
}
.ozo-btn .elementor-button:hover .elementor-button-icon {
  transform: translateX(4px);
}

/* --- utility: card hover lift --- */
.ozo-lift {
  transition: transform .35s ease, box-shadow .35s ease;
}
.ozo-lift:hover {
  transform: translateY(-4px);
}

/* --- utility: hairline divider matching the brand line color --- */
.ozo-hairline {
  border-top: 1px solid var(--e-global-color-1772e48d) !important;
}

/* --- mobile tightening: tame oversize headings --- */
@media (max-width: 767px) {
  .ozo-h-display .elementor-heading-title {
    font-size: clamp(2.2rem, 9vw, 3rem) !important;
    line-height: 1.05 !important;
  }
}

/* --- FOOTER: powered-by row (3-item flex bottom strip) --- */
.ozo-foot-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-size: 0.78rem;
  color: #98A0A5;
}
.ozo-foot-bottom .ozo-foot-powered {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #D5DCE0;
  text-decoration: none;
  font-weight: 500;
  font-family: 'Montserrat', sans-serif;
  transition: color .2s ease;
}
.ozo-foot-bottom .ozo-foot-powered:hover { color: #ffffff; }
.ozo-foot-bottom .ozo-foot-powered img {
  width: 16px; height: 16px;
  filter: brightness(0) invert(1) opacity(0.6);
  transition: opacity .2s ease;
}
.ozo-foot-bottom .ozo-foot-powered:hover img { filter: brightness(0) invert(1) opacity(1); }
.ozo-foot-bottom .ozo-foot-copy { flex: 0 0 auto; }
.ozo-foot-bottom .ozo-foot-area { flex: 0 0 auto; text-align: right; }
@media (max-width: 768px) {
  .ozo-foot-bottom { justify-content: center; text-align: center; }
  .ozo-foot-bottom .ozo-foot-area { text-align: center; }
}

/* CARD ANIMATIONS */


.hover-parent .hover-icon {
  transition: transform 0.3s ease;
}

.hover-parent:hover .hover-icon {
  transform: rotate(8deg);
}
