.elementor-1168 .elementor-element.elementor-element-cfbe4a5{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--padding-top:2rem;--padding-bottom:2rem;--padding-left:2rem;--padding-right:2rem;}.elementor-widget-theme-post-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1168 .elementor-element.elementor-element-5b06f6d{--display:flex;--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;--margin-top:15px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:1rem;--padding-bottom:1rem;--padding-left:1rem;--padding-right:1rem;}.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}@media(max-width:1024px){.elementor-1168 .elementor-element.elementor-element-cfbe4a5{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-1168 .elementor-element.elementor-element-cfbe4a5{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for container, class: .elementor-element-cfbe4a5 *//* ---- Convene tokens ---- */
:root{
  --cv-forest:#0E1512; --cv-char:#1F1F1F; --cv-slate:#3F3F3F;
  --cv-sage:#00AD4A; --cv-sage-deep:#00773A; --cv-sage-glow:#8AD3AC;
  --cv-blue:#5B7A99; --cv-blue-deep:#3F5E7C; --cv-line:#E6E6E1;
}

/* ============ HERO CONTAINER — class: cv-hero ============ */
.cv-hero{
  position:relative;
  overflow:hidden;
  background-color:var(--cv-forest);
  isolation:isolate;
}
/* ambient glow-orbs */
.cv-hero::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(38% 55% at 12% 8%,  rgba(0,173,74,.20),  transparent 60%),
    radial-gradient(42% 60% at 90% 96%, rgba(63,94,124,.26), transparent 62%),
    radial-gradient(30% 45% at 78% 10%, rgba(154,224,187,.10), transparent 65%);
}
/* dot-grid texture, faded top & bottom */
.cv-hero::after{
  content:""; position:absolute; inset:0; z-index:0; opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.35) 1px, transparent 1px);
  background-size:22px 22px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);
          mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);
}
/* keep the widgets (title, etc.) above the two texture layers */
.cv-hero > *{ position:relative; z-index:1; }

/* ============ HERO TITLE — class: cv-title ============ */
.cv-title,
.cv-title .elementor-heading-title{
  font-family:"Bricolage Grotesque",sans-serif!important;
  font-weight:700!important;
  letter-spacing:-.035em!important;
  line-height:1.02;
  font-size:clamp(2.2rem,6vw,4.1rem)!important;
  color:#ffffff!important;
}
/* italicise a word in the title -> Fraunces accent */
.cv-title i, .cv-title em{
  font-family:"Fraunces",Georgia,serif; font-style:italic!important;
  font-weight:600; color:var(--cv-sage-glow)!important;
}

/* ============ POST CONTENT CONTAINER — class: cv-post ============ */
.cv-post{
  max-width:720px;              /* reading column — remove if you set width in Elementor */
  margin-inline:auto;
  font-family:"Inter",sans-serif;
  font-size:1.075rem;
  line-height:1.68;
  color:var(--cv-slate);
}
.cv-post p{ margin:0 0 1.25rem; }
.cv-post a{
  color:var(--cv-sage-deep);
  text-decoration:underline; text-underline-offset:2px;
}
.cv-post a:hover{ color:var(--cv-sage); }/* End custom CSS */