.elementor-34 .elementor-element.elementor-element-7f2d200{--display:flex;--min-height:943px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:-15px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-34 .elementor-element.elementor-element-7f2d200:not(.elementor-motion-effects-element-type-background), .elementor-34 .elementor-element.elementor-element-7f2d200 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );background-image:url("https://david.bosseo.dev/wp-content/uploads/2026/04/david-team-updated-v2.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-34 .elementor-element.elementor-element-493af2f{--spacer-size:245px;}.elementor-34 .elementor-element.elementor-element-c3840e0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -30px) 0px;z-index:2;}@media(max-width:1366px){.elementor-34 .elementor-element.elementor-element-7f2d200:not(.elementor-motion-effects-element-type-background), .elementor-34 .elementor-element.elementor-element-7f2d200 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://david.bosseo.dev/wp-content/uploads/2026/04/david-team-updated-v2.webp");}.elementor-34 .elementor-element.elementor-element-7f2d200{--min-height:618px;}.elementor-34 .elementor-element.elementor-element-493af2f{--spacer-size:189px;}}@media(max-width:880px){.elementor-34 .elementor-element.elementor-element-7f2d200{--min-height:529px;--justify-content:flex-start;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:274px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-34 .elementor-element.elementor-element-7f2d200:not(.elementor-motion-effects-element-type-background), .elementor-34 .elementor-element.elementor-element-7f2d200 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:top center;}.elementor-34 .elementor-element.elementor-element-493af2f{--spacer-size:1px;}}@media(max-width:767px){.elementor-34 .elementor-element.elementor-element-7f2d200:not(.elementor-motion-effects-element-type-background), .elementor-34 .elementor-element.elementor-element-7f2d200 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://david.bosseo.dev/wp-content/uploads/2026/04/David-phone-view-m.webp");background-position:center center;}.elementor-34 .elementor-element.elementor-element-7f2d200{--min-height:850px;--justify-content:flex-start;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:11px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;--z-index:0;}.elementor-34 .elementor-element.elementor-element-493af2f{--spacer-size:46px;}.elementor-34 .elementor-element.elementor-element-c3840e0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}}/* Start custom CSS for html, class: .elementor-element-c3840e0 */@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700;800&display=swap');

/* ===== Animations ===== */
@keyframes ce-rise {
  0%   { opacity: 0; transform: translateY(28px) scale(.985); }
  100% { opacity: 1; transform: none; }
}
@keyframes ce-shimmer {
  0%, 100% { background-position: 100% 50%; }
  50%      { background-position: 0%   50%; }
}
@keyframes ce-tracking {
  0%   { letter-spacing: 1.1em; opacity: 0; }
  100% { letter-spacing: .34em; opacity: 1; }
}
@keyframes ce-underline {
  0%   { transform: scaleX(0); }
  100% { transform: scaleX(1); }
}

/* ===== Container ===== */
h1.ce-h1 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5em;
  text-align: center;
  line-height: .95;
  font-family: 'Bodoni Moda', 'Cormorant Garamond', serif;
  color: #fff;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -.02em;
  margin: 0;
}

/* ===== Scrim (Desktop: Blue) ===== */
h1.ce-h1::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 80%;
  height: 160%;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse at center,
    rgba(15, 47, 77, 0.85)  0%,
    rgba(15, 47, 77, 0.60) 35%,
    rgba(15, 47, 77, 0.25) 60%,
    rgba(15, 47, 77, 0)    80%);
  filter: blur(10px);
  z-index: -1;
  pointer-events: none;
}

/* ===== CALIFORNIA — bigger, solid warm-white ===== */
h1.ce-h1 .ce-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  font-family: 'Cinzel', serif;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .34em;
  padding-left: .34em;
  text-transform: uppercase;
  font-size: clamp(28px, 3.2vw, 46px);
  color: #fff8ee;
  -webkit-text-fill-color: #fff8ee;
  background: none;
  -webkit-background-clip: border-box;
          background-clip: border-box;
  -webkit-text-stroke: 0;
  filter: none;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  animation: ce-tracking 1.4s cubic-bezier(.2,.7,.2,1) .1s both;
}
h1.ce-h1 .ce-eyebrow::before,
h1.ce-h1 .ce-eyebrow::after {
  content: "";
  flex: 0 0 clamp(34px, 5vw, 72px);
  height: 2px;
  background: linear-gradient(90deg, transparent, #f8ccb0);
  -webkit-text-fill-color: initial;
}
h1.ce-h1 .ce-eyebrow::after {
  background: linear-gradient(90deg, #f8ccb0, transparent);
}

/* ===== EXPUNGEMENT row ===== */
h1.ce-h1 .ce-row {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: .45em;
  flex-wrap: nowrap;
}

/* EXPUNGEMENT — gold shimmer */
h1.ce-h1 .ce-main {
  font-family: 'Bodoni Moda', 'Cormorant Garamond', serif;
  font-weight: 900;
  font-size: clamp(40px, 8.4vw, 118px);
  letter-spacing: -.025em;
  background-image: linear-gradient(100deg,
    #ffffff 0%, #ffffff 38%,
    #fffbeb 47%, #FDE68A 50%, #fffbeb 53%,
    #ffffff 62%, #ffffff 100%);
  background-size: 200% 100%;
  background-position: 100% 50%;
  background-repeat: no-repeat;
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter:
    drop-shadow(0 2px 6px rgba(0, 0, 0, .7))
    drop-shadow(0 0 1px   rgba(0, 0, 0, .6));
  animation:
    ce-rise 1.1s cubic-bezier(.2,.7,.2,1) .35s both,
    ce-shimmer 6s ease-in-out 1.6s infinite;
}

/* ===== Attorneys — PURE BRIGHT WHITE ===== */
h1.ce-h1 .ce-tail {
  font-family: 'Bodoni Moda', 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 600;
  font-size: clamp(22px, 3vw, 40px);
  letter-spacing: .06em;
  position: relative;
  padding-bottom: .08em;
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
  background: none;
  -webkit-background-clip: border-box;
          background-clip: border-box;
  -webkit-text-stroke: 0;
  filter: none;
  text-shadow: none;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  animation: ce-rise 1s cubic-bezier(.2,.7,.2,1) .65s both;
}
h1.ce-h1 .ce-tail::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: #f8ccb0;
  transform: scaleX(0);
  transform-origin: left;
  animation: ce-underline .9s cubic-bezier(.6,.05,.2,1) 1.3s forwards;
}

/* ===== Tablet ===== */
@media (max-width: 900px) {
  h1.ce-h1 { gap: .4em; }
  h1.ce-h1 .ce-eyebrow {
    letter-spacing: .3em;
    font-size: clamp(22px, 3.6vw, 32px);
  }
}

/* ===== Mobile (Overlay changed to Black) ===== */
@media (max-width: 600px) {
  /* Change scrim to black here */
  h1.ce-h1::before {
    background: radial-gradient(ellipse at center,
      rgba(0, 0, 0, 0.85)  0%,
      rgba(0, 0, 0, 0.60) 35%,
      rgba(0, 0, 0, 0.25) 60%,
      rgba(0, 0, 0, 0)    80%);
  }

  h1.ce-h1 .ce-row { flex-direction: column; gap: .18em; }
  h1.ce-h1 .ce-tail { align-self: center; }
  h1.ce-h1 .ce-main { font-size: 40px !important; }
  h1.ce-h1 .ce-eyebrow {
    font-size: 28px !important;
    letter-spacing: .26em !important;
  }
  h1.ce-h1 .ce-tail { font-size: 30px !important; }
  h1.ce-h1 .ce-eyebrow::before,
  h1.ce-h1 .ce-eyebrow::after { flex-basis: 24px; }
}

/* ===== Very small phones ===== */
@media (max-width: 380px) {
  h1.ce-h1 .ce-eyebrow {
    font-size: 26px !important;
    letter-spacing: .22em !important;
    gap: 8px;
  }
  h1.ce-h1 .ce-main { font-size: 42px !important; }
  h1.ce-h1 .ce-tail { font-size: 26px !important; }
}

/* ===== Reduced motion ===== */
@media (prefers-reduced-motion: reduce) {
  h1.ce-h1 .ce-eyebrow,
  h1.ce-h1 .ce-main,
  h1.ce-h1 .ce-tail,
  h1.ce-h1 .ce-tail::after {
    animation: none !important;
    transform: none !important;
    opacity: 1;
  }
  h1.ce-h1 .ce-eyebrow { letter-spacing: .34em; }
  h1.ce-h1 .ce-main { background-position: 0% 50%; }
  h1.ce-h1 .ce-tail::after { transform: scaleX(1); }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7f2d200 *//* ============================================================
   HERO SECTION — Elementor Custom CSS
   ============================================================ */


/* ─────────────────────────────────────────────
   1. SECTION (Balanced Overlay & Clarity Fix)
   ─────────────────────────────────────────────*/

#hero-section {
  position: relative !important;
  overflow: hidden !important;
  opacity: 0;
  animation: heroFadeIn 0.3s ease 0.1s forwards !important;
  /* Fix for potential browser blurring on subpixel rendering */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@keyframes heroFadeIn {
  to { opacity: 1; }
}

#hero-section::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  /* Ensures no haze or blur effect is applied to the layer itself */
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  
  background: 
    radial-gradient(ellipse 120% 100% at 50% 50%,
      transparent 45%,
      color-mix(in srgb, var(--e-global-color-primary) 30%, transparent) 100%
    ),
    linear-gradient(to bottom,
      color-mix(in srgb, var(--e-global-color-primary) 10%, transparent) 0%,
      color-mix(in srgb, var(--e-global-color-primary) 8%, transparent) 45%, 
      color-mix(in srgb, var(--e-global-color-primary) 40%, transparent) 75%, 
      color-mix(in srgb, var(--e-global-color-primary) 70%, transparent) 92%, 
      var(--e-global-color-primary) 100%
    ) !important;
}

#hero-section > .elementor-container {
  position: relative !important;
  z-index: 2 !important;
}


/* ─────────────────────────────────────────────
   2. "California Expungement Attorneys" HEADING
   ─────────────────────────────────────────────*/

.hero-firm .elementor-heading-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;

  background: linear-gradient(100deg,
    #7a5500  0%,
    #c49820 20%,
    #f0cc60 35%,
    #FCD34D 45%,
    #FCD34D 55%,
    #f0cc60 65%,
    #c49820 80%,
    #7a5500 100%
  ) !important;
  background-size: 500% 100% !important;
  background-position: 300% center !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;

  animation:
    firmSlideUp 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.4s both,
    firmSweep   8s ease-in-out 4s infinite !important;
}

@keyframes firmSlideUp {
  from { transform: translateY(100%); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}

@keyframes firmSweep {
  0%   { background-position: 300% center; }
  100% { background-position: -200% center; }
}


/* ─────────────────────────────────────────────
   3. "MILLIONS" HEADING
   ─────────────────────────────────────────────*/

.hero-millions .elementor-heading-title {
  font-family: 'Bebas Neue', sans-serif !important;
  line-height: 0.85 !important;
  letter-spacing: 0.02em !important;

  background: linear-gradient(100deg,
    #c8c8c8  0%,
    #e4e4e4 18%,
    #f8f8f8 30%,
    #ffffff 42%,
    #ffffff 58%,
    #f8f8f8 70%,
    #e4e4e4 82%,
    #c8c8c8 100%
  ) !important;
  background-size: 500% 100% !important;
  background-position: 300% center !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;

  filter: drop-shadow(0 2px 20px rgba(0, 0, 0, 0.5)) !important;

  animation:
    millionsDropIn  1s cubic-bezier(0.22, 1, 0.36, 1) 1.2s both,
    millionsSweep  10s linear 4s infinite !important;
}

@keyframes millionsDropIn {
  0%   { transform: translateY(-80px) scaleY(1.3); opacity: 0; }
  65%  { transform: translateY(5px)   scaleY(0.98); opacity: 1; }
  82%  { transform: translateY(-2px)  scaleY(1.005); }
  100% { transform: translateY(0)       scaleY(1); opacity: 1; }
}

@keyframes millionsSweep {
  0%   { background-position: -200% center; }
  100% { background-position:  400% center; }
}


/* ─────────────────────────────────────────────
   4. RECOVERED SCRIM WRAP
   ─────────────────────────────────────────────*/

.hero-recovered-wrap {
  position: relative !important;
  padding: 8px 0 !important;
}

.hero-recovered-wrap::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.35) !important;
  z-index: 0 !important;
}

.hero-recovered-wrap .elementor-widget-container {
  position: relative !important;
  z-index: 1 !important;
}


/* ─────────────────────────────────────────────
   5. "RECOVERED" HEADING
   ─────────────────────────────────────────────*/

.hero-recovered .elementor-heading-title {
  font-family: 'Bebas Neue', sans-serif !important;
  line-height: 0.88 !important;
  letter-spacing: 0.04em !important;
}


/* ─────────────────────────────────────────────
   6. ORNAMENT
   ─────────────────────────────────────────────*/

.hero-ornament {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  justify-content: center !important;
  margin: 10px 0 12px !important;
  opacity: 0 !important;
  animation: fadeIn 1s ease 1.4s forwards !important;
}

.hero-ornament .orn-line {
  height: 0.5px !important;
  width: clamp(30px, 4vw, 60px) !important;
}

.hero-ornament .orn-line.l {
  background: linear-gradient(to right,
    transparent,
    rgba(252, 211, 77, 0.55)
  ) !important;
}

.hero-ornament .orn-line.r {
  background: linear-gradient(to left,
    transparent,
    rgba(252, 211, 77, 0.55)
  ) !important;
}

.hero-ornament .orn-diamond {
  width: 5px !important;
  height: 5px !important;
  background: #FCD34D !important;
  transform: rotate(45deg) !important;
  flex-shrink: 0 !important;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* ─────────────────────────────────────────────
   7. TAGLINE
   ─────────────────────────────────────────────*/

.hero-tagline .elementor-heading-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  letter-spacing: 0.16em !important;
  color: rgba(255, 255, 255, 0.3) !important;
  opacity: 0 !important;
  animation: fadeIn 1s ease 3.2s forwards !important;
}


/* ─────────────────────────────────────────────
   MOBILE ADJUSTMENT
   ─────────────────────────────────────────────*/

@media (max-width: 767px) {
  #hero-section::before {
    background: none !important;
  }
}/* End custom CSS */