.elementor-kit-1454{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-1454 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================
   RAISE — Global design system for Elementor  (v2 — full homepage)
   Paste this ONCE into: Elementor → Site Settings → Custom CSS
   Replaces any earlier version.
   ============================================================ */

:root{
  --green:#8DC63F; --green-2:#7BB230; --green-soft:#E7F2D2;
  --charcoal:#58595B; --ink:#1F2937; --ink-2:#2F3742; --muted:#6B7280;
  --rule:#E5E2D8; --rule-2:#EFEDE5;
  --bg:#FAFAF7; --bg-alt:#F4F2EC; --bg-deep:#2A2D33;
  --serif:"Playfair Display", Georgia, serif;
  --sans:"Inter", -apple-system, system-ui, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, Menlo, monospace;
}

/* ---- Layout primitives ----
   The .elementor-element.e-con prefix raises specificity above
   Elementor's own container rules so our grids/rows actually win. */
.elementor-element.e-con.raise-wrap{
  max-width:1280px !important; width:100% !important;
  margin-left:auto !important; margin-right:auto !important;
  padding:0 40px !important;
}
.elementor-element.e-con.raise-wrap-narrow{
  max-width:820px !important; width:100% !important;
  margin-left:auto !important; margin-right:auto !important;
  padding:0 40px !important;
}
/* insurance: if a container renders a boxed inner wrapper, dissolve it */
.e-con.raise-grid > .e-con-inner{display:contents !important}

/* ---- Buttons ---- */
.raise-btn .elementor-button{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--sans); font-weight:600; font-size:14px;
  padding:14px 22px; border:1.5px solid transparent; border-radius:2px;
  text-decoration:none; letter-spacing:.02em; transition:all .18s ease;
}
.raise-btn-primary .elementor-button{background:var(--green); color:var(--ink); border-color:var(--green)}
.raise-btn-primary .elementor-button:hover{background:var(--green-2); border-color:var(--green-2); color:#fff}
.raise-btn-secondary .elementor-button{background:transparent; color:var(--ink); border-color:var(--charcoal)}
.raise-btn-secondary .elementor-button:hover{background:var(--ink); color:#fff; border-color:var(--ink)}
.raise-btn-ghost .elementor-button{background:transparent; color:#F4F2EC; border-color:rgba(244,242,236,.6)}
.raise-btn-ghost .elementor-button:hover{background:#F4F2EC; color:var(--ink); border-color:#F4F2EC}

/* ---- Shared type ---- */
.raise-h2 .elementor-heading-title, .raise-h2{
  font-family:var(--serif); font-weight:500; font-size:48px; line-height:1.1;
  letter-spacing:-0.005em; color:var(--ink); margin:0;
}
.raise-kicker .elementor-heading-title, .raise-kicker{
  font-family:var(--sans); font-weight:600; font-size:11.5px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--ink); display:inline-block;
  padding-bottom:6px; border-bottom:1.5px solid var(--green); margin:0;
}
.raise-kicker-dark .elementor-heading-title, .raise-kicker-dark{color:#F4F2EC}

/* ---- Section head (value / impact / logos / tests) ---- */
.elementor-element.e-con.raise-section-head{
  display:grid !important; grid-template-columns:1.2fr 1fr; gap:64px;
  align-items:end; margin-bottom:56px;
}
.raise-section-head .raise-h2 .elementor-heading-title{max-width:20ch; margin-top:24px}
.raise-shead-right p, .raise-shead-right{
  font-family:var(--sans); font-size:16px; line-height:1.65; color:var(--muted);
  margin:0; max-width:46ch;
}

/* ============================================================
   01 · HERO
   ============================================================ */
.raise-hero{background:var(--bg); padding:80px 0 0 !important; overflow:hidden}
.elementor-element.e-con.raise-hero-grid{
  display:grid !important; grid-template-columns:1.1fr 1fr; gap:72px;
  align-items:center; padding-bottom:96px !important;
}
.raise-eyebrow .elementor-heading-title, .raise-eyebrow{
  font-family:var(--sans); font-weight:500; font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--green-2); margin:0 0 28px;
  display:flex; align-items:center; gap:14px;
}
.raise-eyebrow .elementor-heading-title:before{content:""; width:36px; height:1.5px; background:var(--green); display:inline-block}
.raise-h1 .elementor-heading-title, .raise-h1{
  font-family:var(--serif); font-weight:500; font-size:96px; line-height:1.0;
  letter-spacing:-0.02em; color:var(--ink); margin:0 0 28px;
}
.raise-h1 em{
  color:var(--green-2); font-style:italic; font-weight:500;
  background-image:linear-gradient(180deg, transparent 0 65%, rgba(141,198,63,.55) 65% 92%, transparent 92%);
  -webkit-box-decoration-break:clone; box-decoration-break:clone; padding:0 .04em;
}
.raise-lede .elementor-widget-container, .raise-lede p, .raise-lede{
  font-family:var(--sans); font-weight:400; font-size:19px; line-height:1.6;
  color:var(--ink-2); max-width:48ch; margin:0 0 36px;
}
.elementor-element.e-con.raise-hero-actions{display:flex !important; flex-direction:row !important; gap:14px; flex-wrap:wrap}
.elementor-element.e-con.raise-hero-meta{
  display:grid !important; grid-template-columns:repeat(3,1fr); gap:32px;
  margin-top:56px; padding-top:32px; border-top:1px solid var(--rule); max-width:540px;
}
.raise-stat-label .elementor-heading-title, .raise-stat-label{
  font-family:var(--sans); font-weight:500; font-size:11px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted); margin:0;
}
.raise-stat-num .elementor-heading-title, .raise-stat-num{
  font-family:var(--serif); font-weight:500; font-size:34px; color:var(--ink);
  letter-spacing:-0.01em; margin:6px 0 0; line-height:1;
}
.raise-hero-visual{position:relative}
.raise-hero-visual:before{content:""; position:absolute; left:-18px; top:-18px; width:88px; height:88px; border-left:2px solid var(--green); border-top:2px solid var(--green); z-index:1}
.raise-hero-visual:after{content:""; position:absolute; right:-18px; bottom:-18px; width:88px; height:88px; border-right:2px solid var(--green); border-bottom:2px solid var(--green); z-index:1}
.raise-hero-img{background:#D8D5C9}
.raise-hero-img img{width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:2px; display:block;
  box-shadow:0 24px 60px -20px rgba(31,41,55,.25), 0 8px 20px -10px rgba(31,41,55,.15)}
.raise-hero-badge{
  position:absolute !important; right:-24px; top:48px; width:auto !important; max-width:240px;
  background:#fff; padding:18px 22px !important; border-left:3px solid var(--green); z-index:2;
  box-shadow:0 12px 30px -10px rgba(31,41,55,.22);
}
.raise-badge-num .elementor-heading-title, .raise-badge-num{font-family:var(--serif); font-weight:600; font-size:32px; color:var(--ink); line-height:1; letter-spacing:-0.01em; margin:0}
.raise-badge-lbl .elementor-widget-container, .raise-badge-lbl p, .raise-badge-lbl{font-family:var(--sans); font-size:12px; color:var(--muted); margin:4px 0 0; line-height:1.4}

/* ============================================================
   02 · CAPACITY STRIP
   ============================================================ */
.raise-capacity{background:var(--bg); padding:0 0 120px !important}
.elementor-element.e-con.raise-capacity-grid{display:grid !important; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:start}
.raise-cap-kicker .elementor-heading-title, .raise-cap-kicker{
  font-family:var(--sans); font-weight:500; font-size:11.5px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--green-2); margin:0 0 18px; padding-bottom:6px;
  border-bottom:1.5px solid var(--green); display:inline-block;
}
.raise-cap-lead .elementor-widget-container, .raise-cap-lead p, .raise-cap-lead{
  font-family:var(--serif); font-style:italic; font-weight:400; font-size:26px;
  line-height:1.35; color:var(--ink); margin:0; max-width:30ch;
}
.elementor-element.e-con.raise-cap-item{
  display:grid !important; grid-template-columns:80px 1fr; gap:24px;
  padding:22px 0 !important; border-top:1px solid var(--rule); align-items:baseline;
}
.raise-cap-items .raise-cap-item:last-child{border-bottom:1px solid var(--rule)}
.raise-cap-n .elementor-heading-title, .raise-cap-n{font-family:var(--mono); font-weight:500; font-size:12px; color:var(--green-2); letter-spacing:.14em; margin:0}
.raise-cap-l .elementor-heading-title, .raise-cap-l{font-family:var(--serif); font-weight:500; font-size:28px; color:var(--ink); letter-spacing:-0.005em; line-height:1.2; margin:0}

/* ============================================================
   03 · TAGLINE BAND (dark)
   ============================================================ */
.raise-tagband{background:var(--bg-deep) !important; padding:90px 0 !important; position:relative; overflow:hidden}
.raise-tagband:before, .raise-tagband:after{content:""; position:absolute; left:50%; width:1px; height:36px; background:var(--green)}
.raise-tagband:before{top:0}
.raise-tagband:after{bottom:0}
.elementor-element.e-con.raise-tagband-grid{display:grid !important; grid-template-columns:repeat(3,1fr); gap:0}
.raise-tag-cell{padding:0 40px !important; text-align:center; align-items:center !important; justify-content:center}
.raise-tagband-grid > .raise-tag-cell:not(:last-child){border-right:1px solid rgba(244,242,236,.12)}
.raise-tag-verb .elementor-heading-title, .raise-tag-verb{font-family:var(--sans); font-weight:500; font-size:11px; letter-spacing:.32em; text-transform:uppercase; color:var(--green); margin:0 0 18px; text-align:center}
.raise-tag-noun .elementor-heading-title, .raise-tag-noun{font-family:var(--serif); font-weight:500; font-style:italic; font-size:54px; line-height:1; letter-spacing:-0.01em; color:#F4F2EC; margin:0; text-align:center}

/* ============================================================
   04 · VALUE / PILLARS
   ============================================================ */
.raise-value{background:var(--bg); padding:120px 0 !important}
.elementor-element.e-con.raise-pillars{
  display:grid !important; grid-template-columns:repeat(5,1fr); gap:0;
  border-top:1px solid var(--rule); border-left:1px solid var(--rule); background:#fff;
}
.raise-pillar{
  padding:32px 28px 36px !important; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule);
  min-height:260px; justify-content:flex-start;
}
.raise-pillar:hover{background:var(--bg-alt)}
.raise-pillar-num .elementor-heading-title, .raise-pillar-num{font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.22em; color:var(--green-2); text-transform:uppercase; margin:0 0 auto}
.raise-pillar-h .elementor-heading-title, .raise-pillar-h{font-family:var(--serif); font-weight:500; font-size:22px; line-height:1.2; margin:48px 0 10px; color:var(--ink)}
.raise-pillar-p .elementor-widget-container, .raise-pillar-p p, .raise-pillar-p{font-family:var(--sans); font-size:13.5px; line-height:1.55; color:var(--muted); margin:0}

/* ============================================================
   05 · DIFFERENTIATORS
   ============================================================ */
.raise-diff{background:var(--bg-alt); padding:120px 0 !important}
.elementor-element.e-con.raise-diff-grid{display:grid !important; grid-template-columns:1.05fr 1fr; gap:80px; align-items:start}
.raise-diff-lead .raise-h2 .elementor-heading-title{max-width:14ch; margin:24px 0}
.raise-diff-p .elementor-widget-container, .raise-diff-p p, .raise-diff-p{font-family:var(--sans); font-size:16.5px; line-height:1.65; color:var(--ink-2); max-width:48ch; margin:0 0 32px}
.elementor-element.e-con.raise-diff-meta{display:flex !important; flex-direction:row !important; gap:18px; margin-top:24px; padding-top:24px; border-top:1px solid var(--rule)}
.raise-diff-meta .elementor-heading-title, .raise-diff-meta{font-family:var(--mono); font-size:11px; color:var(--muted); letter-spacing:.06em}
.elementor-element.e-con.raise-diff-row{
  display:grid !important; grid-template-columns:48px 1fr auto; gap:20px;
  padding:20px 0 !important; border-top:1px solid var(--rule); align-items:center;
}
.raise-diff-list .raise-diff-row:last-child{border-bottom:1px solid var(--rule)}
.raise-diff-row:hover{background:#fff}
.raise-dn .elementor-heading-title, .raise-dn{font-family:var(--mono); font-weight:500; font-size:11px; color:var(--muted); letter-spacing:.14em; margin:0}
.raise-dl .elementor-heading-title, .raise-dl{font-family:var(--serif); font-weight:500; font-size:21px; color:var(--ink); letter-spacing:-0.005em; margin:0}
.raise-da .elementor-heading-title, .raise-da{font-family:var(--sans); font-size:11px; letter-spacing:.18em; color:var(--green-2); text-transform:uppercase; font-weight:600; opacity:0; transition:opacity .15s ease; margin:0}
.raise-diff-row:hover .raise-da .elementor-heading-title{opacity:1}

/* ============================================================
   06 · FEATURED IMPACT BAR
   ============================================================ */
.raise-impact{background:var(--bg); padding:120px 0 0 !important}
.elementor-element.e-con.raise-impact-strip{display:grid !important; grid-template-columns:repeat(5,1fr); gap:0}
.raise-impact-card{
  position:relative; aspect-ratio:3/4; overflow:hidden; background:#C9C6BA;
  justify-content:flex-end !important; padding:24px 22px !important; cursor:pointer;
}
.raise-impact-card:before{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(31,41,55,0) 30%, rgba(31,41,55,.85) 100%)}
.raise-impact-card > *{position:relative; z-index:1}
.raise-ic-cat .elementor-heading-title, .raise-ic-cat{display:inline-flex; align-items:center; gap:8px; font-family:var(--sans); font-weight:600; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--green); margin:0 0 10px}
.raise-ic-cat .elementor-heading-title:before{content:""; width:16px; height:1.5px; background:var(--green); display:inline-block}
.raise-ic-name .elementor-heading-title, .raise-ic-name{font-family:var(--serif); font-weight:500; font-size:21px; line-height:1.2; margin:0; letter-spacing:-0.005em; color:#fff}
.raise-ic-tip .elementor-widget-container, .raise-ic-tip p, .raise-ic-tip{font-family:var(--sans); font-size:13px; line-height:1.45; color:#E5E7EB; margin:0; max-height:0; opacity:0; overflow:hidden; transition:max-height .3s ease, opacity .25s ease, margin .3s ease}
.raise-impact-card:hover .raise-ic-tip .elementor-widget-container{max-height:120px; opacity:1; margin-top:10px}
.elementor-element.e-con.raise-impact-foot{display:flex !important; flex-direction:row !important; justify-content:space-between; align-items:center; padding-top:28px !important; margin-top:24px; border-top:1px solid var(--rule)}
.raise-meta-mono .elementor-heading-title, .raise-meta-mono{font-family:var(--mono); font-size:11px; color:var(--muted); letter-spacing:.06em; margin:0}
.raise-btn-text .elementor-button{background:transparent; padding:0; color:var(--ink); border:0; border-bottom:1.5px solid var(--green); border-radius:0; padding-bottom:4px; font-weight:600; font-size:13px; letter-spacing:.08em; text-transform:uppercase}
.raise-btn-text .elementor-button:hover{color:var(--green-2)}

/* ============================================================
   07 · LOGO WALL
   ============================================================ */
.raise-logos{background:var(--bg); padding:120px 0 !important}
.elementor-element.e-con.raise-logos-grid{
  display:grid !important; grid-template-columns:repeat(6,1fr); gap:0;
  border-left:1px solid var(--rule); border-top:1px solid var(--rule); background:#fff;
}
.raise-logo-tile{
  position:relative; aspect-ratio:5/3; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule);
  align-items:center !important; justify-content:center; background:#fff; overflow:hidden; transition:background .15s ease;
}
.raise-logo-tile:hover{background:#FAFAF7}
.raise-mark .elementor-heading-title, .raise-mark{font-family:var(--serif); font-weight:500; font-size:18px; color:#999; letter-spacing:.01em; text-align:center; padding:0 16px; line-height:1.15; margin:0; transition:opacity .2s ease}
.raise-mark-bold .elementor-heading-title{font-weight:700; font-size:17px; letter-spacing:.06em; text-transform:uppercase}
.raise-mark-condensed .elementor-heading-title{font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:.18em; text-transform:uppercase}
.raise-mark-script .elementor-heading-title{font-family:var(--serif); font-style:italic; font-weight:500; font-size:21px}
.raise-mark-serifthin .elementor-heading-title{font-family:var(--serif); font-weight:400; font-size:18px; letter-spacing:.04em; font-variant:small-caps}
.raise-mark-sanslight .elementor-heading-title{font-family:var(--sans); font-weight:300; font-size:18px; letter-spacing:.06em}
.raise-mark .raise-glyph{display:block; font-size:13px; letter-spacing:.3em; color:#bbb; margin-top:2px}
.raise-logo-hover{
  position:absolute !important; inset:0; background:var(--ink); padding:24px 22px !important;
  justify-content:center !important; text-align:center; opacity:0; transition:opacity .22s ease; pointer-events:none; z-index:2;
}
.raise-logo-tile:hover .raise-logo-hover{opacity:1}
.raise-logo-tile:hover .raise-mark .elementor-heading-title{opacity:0}
.raise-logo-badge .elementor-heading-title, .raise-logo-badge{font-family:var(--sans); font-weight:600; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--green); margin:0 0 10px; display:block}
.raise-logo-copy .elementor-widget-container, .raise-logo-copy p, .raise-logo-copy{font-family:var(--serif); font-style:italic; font-size:14px; line-height:1.5; margin:0; color:#fff}
.elementor-element.e-con.raise-logos-foot{display:flex !important; flex-direction:row !important; justify-content:space-between; align-items:center; padding-top:32px !important}

/* ============================================================
   08 · TESTIMONIAL (single featured)
   ============================================================ */
.raise-tests{background:var(--bg-alt); padding:140px 0 !important}
.elementor-element.e-con.raise-test-slide{display:grid !important; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:center}
.raise-test-portrait{
  aspect-ratio:4/5; max-height:480px; align-items:center !important; justify-content:center;
  background:repeating-linear-gradient(135deg, #ECE9DF 0 12px, #F4F2EC 12px 24px);
  border:1px solid var(--rule); text-align:center; padding:24px !important;
}
.raise-test-portrait .elementor-heading-title, .raise-test-portrait{font-family:var(--mono); font-size:11px; color:#8E867A; line-height:1.6}
.raise-qm .elementor-heading-title, .raise-qm{font-family:var(--serif); font-size:96px; line-height:.6; color:var(--green); font-weight:600; margin:0 0 14px}
.raise-quote .elementor-widget-container blockquote, .raise-quote blockquote{font-family:var(--serif); font-weight:400; font-size:30px; line-height:1.35; color:var(--ink); letter-spacing:-0.005em; margin:0 0 32px; font-style:italic; border:0; padding:0}
.raise-quote blockquote em{color:var(--green-2); font-style:italic; font-weight:500}
.raise-cite-name .elementor-heading-title, .raise-cite-name{font-family:var(--serif); font-weight:600; font-size:18px; color:var(--ink); margin:0 0 4px}
.raise-cite-role .elementor-heading-title, .raise-cite-role{font-family:var(--sans); font-size:13px; color:var(--muted); letter-spacing:.02em; margin:0}

/* ============================================================
   09 · FINAL CTA (dark)
   ============================================================ */
.raise-cta{background:var(--bg-deep) !important; padding:120px 0 !important; position:relative; overflow:hidden; text-align:center}
.raise-cta:before{content:""; position:absolute; left:50%; top:0; width:1px; height:48px; background:var(--green)}
.raise-cta .raise-wrap-narrow{text-align:center; align-items:center !important}
.raise-cta-eyebrow .elementor-heading-title, .raise-cta-eyebrow{margin:0 0 28px !important}
.raise-cta-h .elementor-heading-title, .raise-cta-h{font-family:var(--serif); font-weight:500; font-size:60px; line-height:1.05; margin:0 auto 24px; max-width:18ch; letter-spacing:-0.012em; color:#F4F2EC; text-align:center}
.raise-cta-h em{font-style:italic; color:var(--green); font-weight:500}
.raise-cta-p .elementor-widget-container, .raise-cta-p p, .raise-cta-p{font-family:var(--sans); font-weight:400; font-size:18px; color:#C7C9CC; margin:0 auto 40px; max-width:50ch; line-height:1.6; text-align:center}
.elementor-element.e-con.raise-cta-actions{display:flex !important; flex-direction:row !important; gap:14px; justify-content:center; flex-wrap:wrap}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1100px){
  .elementor-element.e-con.raise-hero-grid,
  .elementor-element.e-con.raise-capacity-grid,
  .elementor-element.e-con.raise-diff-grid,
  .elementor-element.e-con.raise-test-slide,
  .elementor-element.e-con.raise-section-head{grid-template-columns:1fr; gap:48px}
  .raise-h1 .elementor-heading-title{font-size:56px}
  .raise-hero-visual:before, .raise-hero-visual:after{display:none}
  .elementor-element.e-con.raise-tagband-grid{grid-template-columns:1fr; gap:40px}
  .raise-tagband-grid > .raise-tag-cell:not(:last-child){border-right:0; border-bottom:1px solid rgba(244,242,236,.12); padding-bottom:32px !important}
  .raise-tag-noun .elementor-heading-title{font-size:42px}
  .elementor-element.e-con.raise-pillars{grid-template-columns:repeat(2,1fr)}
  .elementor-element.e-con.raise-impact-strip,
  .elementor-element.e-con.raise-logos-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){
  .raise-h1 .elementor-heading-title{font-size:42px}
  .raise-cta-h .elementor-heading-title{font-size:42px}
  .elementor-element.e-con.raise-hero-meta,
  .elementor-element.e-con.raise-pillars{grid-template-columns:1fr}
  .elementor-element.e-con.raise-impact-strip,
  .elementor-element.e-con.raise-logos-grid{grid-template-columns:repeat(2,1fr)}
  .raise-tag-noun .elementor-heading-title{font-size:34px}
  .raise-hero-badge{position:static !important; margin-top:20px; max-width:none}
}

/* ============================================================
   RAISE — Header & Footer styles
   ADD this block to the END of Elementor → Site Settings → Custom CSS
   (it uses the design tokens already defined at the top of raise-global.css)
   ============================================================ */

/* ---------- HEADER (sticky top bar) ---------- */

.elementor-element.e-con.raise-topbar{
  background:rgba(250,250,247,.96);
  -webkit-backdrop-filter:saturate(160%) blur(8px);
  backdrop-filter:saturate(160%) blur(8px);
  border-bottom:1px solid var(--rule);
  padding:0;
}

.elementor-element.e-con.raise-topbar-inner{
  display:flex !important;
  align-items:center; justify-content:space-between;
  gap:24px; padding:18px 40px; max-width:1440px; margin:0 auto; width:100%;
}

.raise-logo-mark .elementor-heading-title{
  font-family:var(--serif); font-weight:800; font-size:24px;
  letter-spacing:.01em; color:var(--ink); line-height:1;
}

.raise-nav .elementor-text-editor{
  display:flex; gap:32px; flex-wrap:wrap; align-items:center;
}

.raise-nav a{
  font-family:var(--sans); font-weight:500; font-size:14px;
  color:var(--ink); text-decoration:none; padding-bottom:4px; line-height:1;
}

.raise-nav a:hover{ color:var(--green-2); }

.raise-nav a.active{ border-bottom:2px solid var(--green); }

.raise-nav-cta{ flex-shrink:0; }

/* ---------- FOOTER (dark, site-wide) ---------- */

.elementor-element.e-con.raise-footer{
  background:#1F2226 !important; padding:72px 0 28px;
}

.elementor-element.e-con.raise-foot-grid{
  display:grid !important;
  grid-template-columns:1.5fr 1fr 1fr 1fr; gap:48px;
  max-width:1280px; margin:0 auto 56px; padding:0 40px; width:100%;
}

.raise-foot-logo .elementor-heading-title{
  font-family:var(--serif); font-weight:800; font-size:22px;
  color:#fff; margin-bottom:18px; line-height:1;
}

.raise-foot-tag, .raise-foot-tag .elementor-text-editor{
  font-family:var(--sans); font-size:13.5px; color:#9CA0A8;
  line-height:1.6; max-width:32ch; margin:0;
}

.raise-foot-h5 .elementor-heading-title{
  font-family:var(--sans); font-weight:600; font-size:11px;
  letter-spacing:.2em; text-transform:uppercase; color:#E5E7EB; margin:0 0 18px;
}

.raise-foot-links a{
  display:block; font-family:var(--sans); font-size:14px;
  color:#9CA0A8; text-decoration:none; margin-bottom:10px;
}

.raise-foot-links a:hover{ color:var(--green); }

.elementor-element.e-con.raise-foot-bottom{
  display:flex !important; justify-content:space-between; align-items:center;
  max-width:1280px; margin:0 auto; padding:24px 40px 0;
  border-top:1px solid #2D3036;
}

.raise-foot-copy, .raise-foot-copy .elementor-text-editor,
.raise-foot-legal, .raise-foot-legal .elementor-text-editor{
  font-family:var(--sans); font-size:12px; color:#6E7280; margin:0;
}

/* grid inner-wrapper insurance (per BUILD_METHOD grid gotcha) */
.e-con.raise-grid > .e-con-inner{ display:contents !important; }

/* ---------- mobile ---------- */

@media (max-width:782px){
  .elementor-element.e-con.raise-foot-grid{ grid-template-columns:1fr 1fr; gap:32px; }
  .raise-nav{ display:none; } /* placeholder: we'll add a real mobile menu later */
}

/* ===== RAISE header layout fix ===== */
.elementor-element.e-con.raise-topbar-inner{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;
}
.raise-nav a{ margin:0 14px; white-space:nowrap; }

/* ===== RAISE logo wall — grey image treatment ===== */
.raise-logo-tile img{ filter:grayscale(1); opacity:.55; max-height:88px; max-width:72%; width:auto;
  margin:0 auto; transition:opacity .2s ease; }/* End custom CSS */