@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');

html{ scroll-padding-top: 86px; }
body.efw-active #header-outer,
body.efw-active #header-space,
body.efw-active #header-secondary-outer,
body.efw-active #search-outer,
body.efw-active #to-top,
body.efw-active #slide-out-widget-area,
body.efw-active #slide-out-widget-area-bg,
body.efw-active .page-header-no-bg,
body.efw-active #page-header-bg,
body.efw-active .title-container,
body.efw-active #footer-outer,
body.efw-active #footer-widgets{ display:none !important; }

body.efw-active #ajax-content-wrap,
body.efw-active .container-wrap,
body.efw-active #content{ margin:0 !important; padding:0 !important; overflow:visible !important;
  transform:none !important; background:transparent !important; max-width:none !important; width:auto !important; }
body.efw-active .container-wrap .row,
body.efw-active #content > .container,
body.efw-active .post-area,
body.efw-active .col.span_12{ width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important; }

body.efw-active .wpb_row, body.efw-active .vc_row{ margin:0 !important; }
body.efw-active .wpb_column, body.efw-active .vc_column_container,
body.efw-active .vc_col-sm-12, body.efw-active [class*="vc_col-"]{ padding:0 !important; }
body.efw-active .vc_column-inner{ padding:0 !important; }
body.efw-active .wpb_wrapper{ padding:0 !important; margin:0 !important; }
body.efw-active .wpb_text_column, body.efw-active .wpb_content_element,
body.efw-active .wpb_raw_html, body.efw-active .wpb_raw_code{ margin-bottom:0 !important; }

.efw.efw.efw{ box-sizing:border-box; position:relative; width:100vw; max-width:100vw;
  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  font-family:var(--font-body); color:var(--body); line-height:1.65; font-size:17px; -webkit-font-smoothing:antialiased; }
.efw.efw.efw *{ box-sizing:border-box; }
/* Salient/WPBakery wrappers put .container in a stretching flex/grid context,
   so `width` is ignored. Constrain with max-width (which DOES cap a stretched
   item) + auto margins, reproducing the original min(100%-44px, 1180px). */
.efw.efw.efw .container{ width:auto !important; max-width:calc(var(--container) + 44px) !important;
  margin-left:auto !important; margin-right:auto !important;
  padding-left:22px !important; padding-right:22px !important; box-sizing:border-box !important; }
/* Salient adds clearfix ::before/::after to .container; when .container is also
   a grid/flex (.split, .stats-grid, .contact-grid, .footer-inner, .header-inner)
   those pseudos become phantom grid/flex items that displace real content. Kill them. */
.efw.efw.efw .container::before, .efw.efw.efw .container::after{ content:none !important; display:none !important; }

/* The header lives in its own WPBakery row; lift whichever row contains it
   above the later section rows so the fixed header paints over everything.
   (Salient rewrites row el_ids, so target by content via :has().) */
.vc_row:has(.site-header){ position: relative !important; z-index: 9990 !important; }


.efw.efw.efw{
  
  --green-bright: #6bc615;
  --green: #4fa211;
  --green-deep: #2c760d;
  --green-darkest: #1c4d0a;
  --green-forest: #163f08;

  
  --navy: #143a5e;
  --navy-deep: #0e2a45;
  --gold: #f2a922;
  --gold-bright: #ffc24d;

  
  --ink: #16210f;
  --body: #3d4a35;
  --muted: #6d7a63;
  --cream: #f5f8f0;
  --cream-2: #eef3e6;
  --line: #e3e9da;
  --white: #ffffff;

  
  --font-head: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  
  --container: 1180px;
  --radius: 16px;
  --radius-sm: 10px;
  --radius-lg: 26px;
  --header-h: 78px;

  
  --shadow-sm: 0 2px 8px rgba(22, 33, 15, .06);
  --shadow: 0 18px 44px rgba(22, 33, 15, .12);
  --shadow-lg: 0 30px 70px rgba(22, 33, 15, .22);
  --ease: cubic-bezier(.22, 1, .36, 1);
}


.efw.efw.efw *, .efw.efw.efw *::before, .efw.efw.efw *::after{ box-sizing: border-box; }
.efw.efw.efw *{ margin: 0; }
html{ scroll-behavior: auto; -webkit-text-size-adjust: 100%; overflow-x: hidden; }
.efw.efw.efw{
  font-family: var(--font-body);
  color: var(--body);
  background: var(--white);
  line-height: 1.65;
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.efw.efw.efw img, .efw.efw.efw video, .efw.efw.efw svg{ display: block; max-width: 100%; }
.efw.efw.efw a{ color: var(--green-deep); text-decoration: none; }
.efw.efw.efw ul, .efw.efw.efw ol{ list-style: none; padding: 0; }

.efw.efw.efw h1, .efw.efw.efw h2, .efw.efw.efw h3, .efw.efw.efw h4{
  font-family: var(--font-head);
  color: var(--ink);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -.02em;
}
.efw.efw.efw h2{ font-size: clamp(2rem, 1.3rem + 2.6vw, 3.1rem); }
.efw.efw.efw h3{ font-size: 1.4rem; font-weight: 700; letter-spacing: -.01em; }

.efw.efw.efw .container{ width: min(100% - 44px, var(--container)); margin-inline: auto; }

.efw.efw.efw .skip-link{
  position: absolute; left: -999px; top: 8px; z-index: 1000;
  background: var(--green-deep); color: #fff; padding: 10px 16px; border-radius: 8px;
}
.efw.efw.efw .skip-link:focus{ left: 12px; }


.efw.efw.efw .btn{
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  font-family: var(--font-head); font-weight: 700; font-size: .98rem;
  padding: 13px 26px; border-radius: 999px; border: 2px solid transparent;
  cursor: pointer; transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .2s, color .2s, border-color .2s;
  white-space: nowrap; letter-spacing: .01em; line-height: 1;
}
.efw.efw.efw .btn:hover{ transform: translateY(-2px); }
.efw.efw.efw .btn:active{ transform: translateY(0); }
.efw.efw.efw .btn-lg{ padding: 16px 32px; font-size: 1.04rem; }
.efw.efw.efw .btn-block{ width: 100%; }

.efw.efw.efw .btn-primary{ background: linear-gradient(135deg, var(--green-bright), var(--green-deep)); color: #fff; box-shadow: 0 10px 24px rgba(44, 118, 13, .32); }
.efw.efw.efw .btn-primary:hover{ box-shadow: 0 16px 32px rgba(44, 118, 13, .42); color: #fff; }

.efw.efw.efw .btn-gold{ background: linear-gradient(135deg, var(--gold-bright), var(--gold)); color: #3a2a05; box-shadow: 0 10px 24px rgba(242, 169, 34, .4); }
.efw.efw.efw .btn-gold:hover{ box-shadow: 0 16px 34px rgba(242, 169, 34, .55); color: #3a2a05; }

.efw.efw.efw .btn-ghost{ background: rgba(255, 255, 255, .12); color: #fff; border-color: rgba(255, 255, 255, .55); backdrop-filter: blur(4px); }
.efw.efw.efw .btn-ghost:hover{ background: rgba(255, 255, 255, .95); color: var(--green-deep); border-color: #fff; }

.efw.efw.efw .btn-outline-light{ background: transparent; color: #fff; border-color: rgba(255, 255, 255, .6); }
.efw.efw.efw .btn-outline-light:hover{ background: #fff; color: var(--navy); border-color: #fff; }

.efw.efw.efw .btn-phone{ background: var(--cream); color: var(--green-deep); border-color: var(--line); padding: 11px 18px; font-size: .92rem; }
.efw.efw.efw .btn-phone:hover{ background: var(--green-deep); color: #fff; border-color: var(--green-deep); }
.efw.efw.efw .btn-phone svg{ flex: none; }


.efw.efw.efw .site-header{
  position: fixed; inset: 0 0 auto 0; z-index: 100;
  height: var(--header-h);
  background: rgba(255, 255, 255, .82);
  backdrop-filter: saturate(160%) blur(14px);
  border-bottom: 1px solid transparent;
  transition: height .3s var(--ease), background .3s, box-shadow .3s, border-color .3s;
}
.efw.efw.efw .site-header.scrolled{ height: 64px; background: rgba(255, 255, 255, .96); box-shadow: var(--shadow-sm); border-bottom-color: var(--line); }
.efw.efw.efw .header-inner{ height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.efw.efw.efw .brand{ display: flex; align-items: center; flex: none; }
.efw.efw.efw .brand-logo{ height: 54px; width: auto; transition: height .3s var(--ease); }
.efw.efw.efw .site-header.scrolled .brand-logo{ height: 44px; }

.efw.efw.efw .nav{ display: flex; align-items: center; gap: 6px; }
.efw.efw.efw .nav > a:not(.btn){
  font-family: var(--font-head); font-weight: 600; font-size: .96rem; color: var(--ink);
  padding: 9px 14px; border-radius: 9px; position: relative; transition: color .2s, background .2s;
}
.efw.efw.efw .nav > a:not(.btn):hover{ color: var(--green-deep); background: var(--cream); }
.efw.efw.efw .nav .btn-phone{ margin-left: 8px; }

.efw.efw.efw .nav-toggle{
  display: none; flex-direction: column; gap: 5px; justify-content: center;
  width: 46px; height: 46px; border: 1px solid var(--line); border-radius: 11px;
  background: var(--white); cursor: pointer; flex: none;
}
.efw.efw.efw .nav-toggle span{ display: block; height: 2.5px; width: 22px; margin-inline: auto; background: var(--ink); border-radius: 2px; transition: transform .3s var(--ease), opacity .2s; }
.efw.efw.efw .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform: translateY(7.5px) rotate(45deg); }
.efw.efw.efw .nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity: 0; }
.efw.efw.efw .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform: translateY(-7.5px) rotate(-45deg); }


.efw.efw.efw .hero{
  position: relative; min-height: 100svh; display: flex; align-items: center;
  padding-top: var(--header-h); color: #fff; overflow: hidden;
}
.efw.efw.efw .hero-media{ position: absolute; inset: 0; z-index: 0; }
.efw.efw.efw .hero-video{ width: 100%; height: 100%; object-fit: cover; }
.efw.efw.efw .hero-overlay{
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(11, 30, 6, .55) 0%, rgba(11, 30, 6, .35) 35%, rgba(11, 30, 6, .72) 100%),
    linear-gradient(90deg, rgba(22, 63, 8, .65) 0%, rgba(22, 63, 8, .15) 60%);
}
.efw.efw.efw .hero-content{ position: relative; z-index: 1; padding: 80px 0 110px; max-width: 760px; }
.efw.efw.efw .hero-title{
  color: #fff; font-size: clamp(2.5rem, 1.4rem + 4.6vw, 4.7rem); line-height: 1.04;
  text-shadow: 0 2px 30px rgba(0, 0, 0, .35); margin: 14px 0 0;
}
.efw.efw.efw .hero-title .hl{ color: var(--green-bright); }
.efw.efw.efw .hero-sub{
  font-size: clamp(1.05rem, .98rem + .5vw, 1.3rem); color: rgba(255, 255, 255, .92);
  max-width: 600px; margin: 22px 0 34px; text-shadow: 0 1px 12px rgba(0, 0, 0, .3);
}
.efw.efw.efw .hero-cta{ display: flex; flex-wrap: wrap; gap: 14px; }
.efw.efw.efw .hero-scroll{
  display: inline-flex; flex-direction: column; align-items: center; gap: 2px;
  color: rgba(255, 255, 255, .8); font-family: var(--font-head); font-size: .72rem;
  text-transform: uppercase; letter-spacing: .22em; margin-top: 60px;
}
.efw.efw.efw .hero-scroll svg{ animation: efwbob 1.8s var(--ease) infinite; }
@keyframes efwbob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(6px); } }


.efw.efw.efw .eyebrow{
  font-family: var(--font-head); font-weight: 700; font-size: .82rem; text-transform: uppercase;
  letter-spacing: .16em; color: var(--green-deep); margin-bottom: 14px;
  display: inline-flex; align-items: center; gap: 9px;
}
.efw.efw.efw .eyebrow::before{ content: ""; width: 26px; height: 2px; background: var(--green); border-radius: 2px; }
.efw.efw.efw .eyebrow-light{ color: var(--green-bright); }
.efw.efw.efw .eyebrow-light::before{ background: var(--green-bright); }
.efw.efw.efw .lede{ font-size: 1.12rem; color: var(--muted); max-width: 60ch; }

.efw.efw.efw .section{ padding: clamp(64px, 8vw, 120px) 0; }
.efw.efw.efw .section-cream{ background: var(--cream); }
.efw.efw.efw .section-head{ max-width: 720px; margin-bottom: 52px; }
.efw.efw.efw .section-head .lede{ margin-top: 18px; }
.efw.efw.efw .section-head-light h2{ color: #fff; }
.efw.efw.efw .section-head-light .lede{ color: rgba(255, 255, 255, .8); }


.efw.efw.efw .stats{ background: var(--green-forest); color: #fff; padding: 0; }
.efw.efw.efw .stats-grid{
  display: grid; grid-template-columns: repeat(4, 1fr);
  text-align: center;
}
.efw.efw.efw .stat{ padding: 40px 18px; position: relative; }
.efw.efw.efw .stat + .stat::before{ content: ""; position: absolute; left: 0; top: 28%; height: 44%; width: 1px; background: rgba(255, 255, 255, .16); }
.efw.efw.efw .stat-num{
  font-family: var(--font-head); font-weight: 800; font-size: clamp(2.4rem, 1.6rem + 2.6vw, 3.4rem);
  color: #fff; line-height: 1; display: flex; align-items: baseline; justify-content: center; gap: 2px;
}
.efw.efw.efw .stat-num .plus{ color: var(--green-bright); }
.efw.efw.efw .stat-word{ color: var(--green-bright); }
.efw.efw.efw .stat-label{ margin-top: 10px; color: rgba(255, 255, 255, .78); font-size: .96rem; }


.efw.efw.efw .split{ display: grid; grid-template-columns: 1fr 1fr; gap: clamp(34px, 5vw, 78px); align-items: center; }
.efw.efw.efw .split-text p + p{ margin-top: 16px; }
.efw.efw.efw .split-text h2{ margin-bottom: 18px; }
.efw.efw.efw .split-reverse .split-media{ order: -1; }

.efw.efw.efw .split-media{ position: relative; }
.efw.efw.efw .split-media img{ width: 100%; border-radius: var(--radius-lg); box-shadow: var(--shadow); object-fit: cover; aspect-ratio: 4 / 3.2; }
.efw.efw.efw .media-badge{
  position: absolute; bottom: -22px; left: -22px; background: #fff; border-radius: var(--radius);
  padding: 18px 22px; box-shadow: var(--shadow); text-align: center; border: 1px solid var(--line);
}
.efw.efw.efw .media-badge strong{ display: block; font-family: var(--font-head); font-size: 1.9rem; color: var(--green-deep); line-height: 1; }
.efw.efw.efw .media-badge span{ font-size: .82rem; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; }

.efw.efw.efw .ticks{ margin-top: 24px; display: grid; gap: 12px; }
.efw.efw.efw .ticks li{ position: relative; padding-left: 34px; color: var(--ink); font-weight: 500; }
.efw.efw.efw .ticks li::before{ content: "\2713"; position: absolute; left: 0; top: 2px; width: 22px; height: 22px; border-radius: 50%; background: var(--green); color: #fff; display: grid; place-items: center; font-size: 13px; font-weight: 700; line-height: 1; }
.efw.efw.efw .ticks-light li{ color: rgba(255, 255, 255, .92); }
.efw.efw.efw .two-col{ grid-template-columns: 1fr 1fr; gap: 14px 30px; }

.efw.efw.efw .signature{ margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); }
.efw.efw.efw .sig-name{ display: block; font-family: var(--font-head); font-weight: 700; font-size: 1.15rem; color: var(--ink); }
.efw.efw.efw .sig-role{ font-size: .92rem; color: var(--muted); }

.efw.efw.efw .video-frame{ border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-lg); aspect-ratio: 4 / 3.4; background: #0b1e06; }
.efw.efw.efw .video-frame video{ width: 100%; height: 100%; object-fit: cover; }


.efw.efw.efw .chips{ display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 46px; }
.efw.efw.efw .chips li{
  font-family: var(--font-head); font-weight: 600; font-size: .95rem; color: var(--green-darkest);
  background: var(--white); border: 1px solid var(--line); padding: 11px 20px; border-radius: 999px;
  box-shadow: var(--shadow-sm); transition: transform .2s var(--ease), border-color .2s, color .2s;
}
.efw.efw.efw .chips li:hover{ transform: translateY(-3px); border-color: var(--green); color: var(--green-deep); }
.efw.efw.efw .chip-more{ background: var(--green-deep) !important; color: #fff !important; border-color: var(--green-deep) !important; }

.efw.efw.efw .gallery{
  display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 232px; gap: 16px;
}
.efw.efw.efw .g-item{ border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); }
.efw.efw.efw .g-item img{ width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.efw.efw.efw .g-item:hover img{ transform: scale(1.06); }
.efw.efw.efw .g-tall{ grid-row: span 2; }


.efw.efw.efw .section-deep{ background: linear-gradient(165deg, var(--green-darkest), var(--green-forest)); color: #fff; position: relative; overflow: hidden; }
.efw.efw.efw .section-deep::before{
  content: ""; position: absolute; top: -120px; right: -120px; width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(107, 198, 21, .28), transparent 70%); pointer-events: none;
}
.efw.efw.efw .features{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.efw.efw.efw .feature{
  background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--radius); padding: 30px 26px; transition: transform .3s var(--ease), background .3s, border-color .3s;
}
.efw.efw.efw .feature:hover{ transform: translateY(-6px); background: rgba(255, 255, 255, .1); border-color: rgba(107, 198, 21, .5); }
.efw.efw.efw .feature-icon{
  width: 56px; height: 56px; border-radius: 14px; display: grid; place-items: center; margin-bottom: 18px;
  background: linear-gradient(135deg, var(--green-bright), var(--green-deep));
}
.efw.efw.efw .feature-icon svg{ width: 28px; height: 28px; color: #fff; }
.efw.efw.efw .feature h3{ color: #fff; margin-bottom: 8px; font-size: 1.18rem; }
.efw.efw.efw .feature p{ color: rgba(255, 255, 255, .78); font-size: .98rem; }


.efw.efw.efw .rebate{ background: linear-gradient(165deg, var(--navy), var(--navy-deep)); color: #fff; position: relative; overflow: hidden; }
.efw.efw.efw .rebate::before{
  content: ""; position: absolute; bottom: -160px; left: -100px; width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(242, 169, 34, .18), transparent 70%); pointer-events: none;
}
.efw.efw.efw .rebate h2, .efw.efw.efw .rebate h3{ color: #fff; }
.efw.efw.efw .badge-new{
  display: inline-flex; align-items: center; gap: 8px; background: linear-gradient(135deg, var(--gold-bright), var(--gold));
  color: #3a2a05; font-family: var(--font-head); font-weight: 800; font-size: .82rem; text-transform: uppercase;
  letter-spacing: .12em; padding: 8px 16px; border-radius: 999px; margin-bottom: 18px;
}
.efw.efw.efw .availability{
  display: inline-flex; align-items: center; gap: 9px; margin-top: 18px; color: var(--gold-bright);
  font-family: var(--font-head); font-weight: 600; background: rgba(242, 169, 34, .12);
  border: 1px solid rgba(242, 169, 34, .35); padding: 9px 18px; border-radius: 999px; font-size: .98rem;
}
.efw.efw.efw .rebate-intro{ font-size: 1.15rem; max-width: 70ch; color: rgba(255, 255, 255, .9); margin: 6px 0 40px; }
.efw.efw.efw .how-it-works{
  background: rgba(255, 255, 255, .06); border-left: 3px solid var(--gold); border-radius: 0 var(--radius) var(--radius) 0;
  padding: 24px 28px; margin-bottom: 48px; max-width: 760px;
}
.efw.efw.efw .how-it-works h3{ font-size: 1.15rem; margin-bottom: 8px; color: var(--gold-bright); }
.efw.efw.efw .how-it-works p{ color: rgba(255, 255, 255, .85); }


.efw.efw.efw .tiers{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch; }
.efw.efw.efw .tier{
  background: rgba(255, 255, 255, .05); border: 4px solid rgba(255, 255, 255, .14); border-radius: var(--radius);
  padding: 30px 26px; position: relative; transition: transform .3s var(--ease);
}
.efw.efw.efw .tier:hover{ transform: translateY(-5px); }
.efw.efw.efw .tier-feature{
  background: linear-gradient(165deg, rgba(242, 169, 34, .16), rgba(242, 169, 34, .04));
  border-color: rgba(242, 169, 34, .55); box-shadow: 0 20px 50px rgba(0, 0, 0, .3);
}
.efw.efw.efw .tier-flag{
  position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
  background: linear-gradient(135deg, var(--gold-bright), var(--gold)); color: #3a2a05;
  font-family: var(--font-head); font-weight: 800; font-size: .72rem; text-transform: uppercase;
  letter-spacing: .12em; padding: 6px 16px; border-radius: 999px; white-space: nowrap;
}
.efw.efw.efw .tier-head{ padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid rgba(255, 255, 255, .14); }
.efw.efw.efw .tier-name{ display: block; font-family: var(--font-head); font-weight: 600; color: var(--gold-bright); font-size: .92rem; text-transform: uppercase; letter-spacing: .1em; }
.efw.efw.efw .tier-pallets{ display: block; font-family: var(--font-head); font-weight: 800; font-size: 2rem; color: #fff; margin-top: 4px; }
.efw.efw.efw .tier-list{ display: grid; gap: 12px; }
.efw.efw.efw .tier-list li{ position: relative; padding-left: 28px; color: rgba(255, 255, 255, .86); font-size: .98rem; }
.efw.efw.efw .tier-list li::before{ content: "\2713"; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--gold); color: #3a2a05; display: grid; place-items: center; font-size: 11px; font-weight: 800; line-height: 1; }
.efw.efw.efw .tier-list strong{ color: #fff; }
.efw.efw.efw .tiers-note{ text-align: center; margin-top: 22px; color: rgba(255, 255, 255, .7); font-style: italic; }


.efw.efw.efw .rebate-detail{ display: grid; grid-template-columns: 1fr 1.15fr; gap: 30px; margin-top: 56px; align-items: start; }
.efw.efw.efw .receipt{
  background: #fff; color: var(--ink); border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow-lg);
  position: relative;
}
.efw.efw.efw .receipt-head{ display: flex; justify-content: space-between; align-items: center; padding-bottom: 16px; border-bottom: 2px dashed var(--line); margin-bottom: 4px; }
.efw.efw.efw .receipt-head span:first-child{ font-family: var(--font-head); font-weight: 800; font-size: 1.1rem; }
.efw.efw.efw .receipt-tag{ font-size: .78rem; background: var(--cream); color: var(--green-deep); padding: 5px 12px; border-radius: 999px; font-weight: 600; }
.efw.efw.efw .receipt-lines li{ display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); color: var(--body); }
.efw.efw.efw .receipt-lines .amt{ font-family: var(--font-head); font-weight: 700; color: var(--ink); white-space: nowrap; }
.efw.efw.efw .receipt-lines .credit{ color: var(--green-deep); }
.efw.efw.efw .receipt-lines .credit .amt{ color: var(--green-deep); }
.efw.efw.efw .receipt-total{ display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-top: 18px; padding-top: 18px; border-top: 2px solid var(--ink); }
.efw.efw.efw .receipt-total > span:first-child{ font-family: var(--font-head); font-weight: 700; font-size: 1.1rem; color: var(--ink); display: flex; flex-direction: column; }
.efw.efw.efw .receipt-total small{ font-weight: 500; font-size: .76rem; color: var(--muted); font-family: var(--font-body); }
.efw.efw.efw .receipt-total .amt{ font-family: var(--font-head); font-weight: 800; font-size: 1.9rem; color: var(--green-deep); }

.efw.efw.efw .plan h3{ margin-bottom: 22px; }
.efw.efw.efw .steps{ display: grid; gap: 18px; }
.efw.efw.efw .steps li{ display: flex; gap: 18px; align-items: flex-start; }
.efw.efw.efw .step-n{
  flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
  background: linear-gradient(135deg, var(--gold-bright), var(--gold)); color: #3a2a05;
  font-family: var(--font-head); font-weight: 800; font-size: 1.15rem;
}
.efw.efw.efw .steps li div{ color: rgba(255, 255, 255, .82); }
.efw.efw.efw .steps li strong{ display: block; color: #fff; margin-bottom: 3px; font-family: var(--font-head); }

.efw.efw.efw .good-to-know{ margin-top: 56px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); border-radius: var(--radius); padding: 32px 34px; }
.efw.efw.efw .good-to-know h3{ margin-bottom: 20px; font-size: 1.2rem; }

.efw.efw.efw .rebate-cta{ margin-top: 48px; text-align: center; }
.efw.efw.efw .rebate-cta h3{ font-size: clamp(1.4rem, 1rem + 1.6vw, 2rem); max-width: 22ch; margin: 0 auto 12px; }
.efw.efw.efw .rebate-cta p{ color: rgba(255, 255, 255, .82); max-width: 56ch; margin: 0 auto 26px; }
.efw.efw.efw .rebate-cta-btns{ display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }


.efw.efw.efw .prizes{ margin: 24px 0; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px 26px; box-shadow: var(--shadow-sm); }
.efw.efw.efw .prizes-title{ font-weight: 600; color: var(--ink); margin-bottom: 12px; }
.efw.efw.efw .prize-list{ display: flex; flex-wrap: wrap; gap: 10px; }
.efw.efw.efw .prize-list li{ background: var(--cream); border: 1px solid var(--line); border-radius: 999px; padding: 7px 16px; font-size: .9rem; font-weight: 600; color: var(--green-deep); }
.efw.efw.efw .tixforgood .split-media img{ aspect-ratio: 4 / 4.4; }


.efw.efw.efw .closing{ position: relative; color: #fff; padding: clamp(80px, 12vw, 150px) 0; overflow: hidden; text-align: center; }
.efw.efw.efw .closing-media{ position: absolute; inset: 0; z-index: 0; }
.efw.efw.efw .closing-media video{ width: 100%; height: 100%; object-fit: cover; }
.efw.efw.efw .closing-overlay{ position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 42, 69, .82), rgba(11, 30, 6, .88)); }
.efw.efw.efw .closing-content{ position: relative; z-index: 1; max-width: 780px; }
.efw.efw.efw .closing-content h2{ color: #fff; font-size: clamp(2.2rem, 1.4rem + 3vw, 3.6rem); }
.efw.efw.efw .closing-content > p{ font-size: 1.18rem; color: rgba(255, 255, 255, .9); margin-top: 20px; }
.efw.efw.efw .closing-thanks{ font-size: 1.05rem !important; color: rgba(255, 255, 255, .82) !important; margin-top: 26px !important; }
.efw.efw.efw .closing-thanks em{ color: var(--green-bright); font-style: italic; }


.efw.efw.efw .contact-grid{ display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(34px, 5vw, 70px); align-items: start; }
.efw.efw.efw .contact-intro h2{ margin-bottom: 16px; }
.efw.efw.efw .contact-card{ margin-top: 30px; background: var(--cream); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; }
.efw.efw.efw .contact-card-name{ padding-bottom: 18px; margin-bottom: 8px; border-bottom: 1px solid var(--line); }
.efw.efw.efw .contact-card-name strong{ display: block; font-family: var(--font-head); font-size: 1.3rem; color: var(--ink); }
.efw.efw.efw .contact-card-name span{ color: var(--muted); font-size: .95rem; }
.efw.efw.efw .contact-line{ display: flex; align-items: center; gap: 14px; padding: 12px 0; color: var(--ink); transition: color .2s; }
.efw.efw.efw .contact-line:hover{ color: var(--green-deep); }
.efw.efw.efw .contact-line svg{ width: 22px; height: 22px; flex: none; padding: 9px; box-sizing: content-box; background: var(--white); border-radius: 11px; color: var(--green-deep); box-shadow: var(--shadow-sm); }
.efw.efw.efw .contact-line span{ display: flex; flex-direction: column; font-family: var(--font-head); font-weight: 700; font-size: 1.05rem; line-height: 1.3; word-break: break-word; }
.efw.efw.efw .contact-line small{ font-weight: 500; font-size: .72rem; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; font-family: var(--font-body); }
.efw.efw.efw .ww-note{ margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); font-size: .85rem; color: var(--muted); }

.efw.efw.efw .contact-form{ background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: clamp(26px, 3vw, 38px); box-shadow: var(--shadow); }
.efw.efw.efw .field{ margin-bottom: 18px; }
.efw.efw.efw .field-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.efw.efw.efw .field label{ display: block; font-family: var(--font-head); font-weight: 600; font-size: .9rem; color: var(--ink); margin-bottom: 7px; }
.efw.efw.efw .field input, .efw.efw.efw .field select, .efw.efw.efw .field textarea{
  width: 100%; font-family: var(--font-body); font-size: 1rem; color: var(--ink);
  padding: 13px 15px; border: 1.5px solid var(--line); border-radius: var(--radius-sm); background: var(--cream);
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.efw.efw.efw .field textarea{ resize: vertical; min-height: 110px; }
.efw.efw.efw .field input:focus, .efw.efw.efw .field select:focus, .efw.efw.efw .field textarea:focus{
  outline: none; border-color: var(--green); background: #fff; box-shadow: 0 0 0 4px rgba(79, 162, 17, .14);
}
.efw.efw.efw .form-note{ margin-top: 16px; font-size: .88rem; color: var(--muted); text-align: center; }
.efw.efw.efw .form-note.is-error{ color: #c0392b; }
.efw.efw.efw .form-note.is-ok{ color: var(--green-deep); font-weight: 600; }


.efw.efw.efw .site-footer{ background: var(--green-forest); color: rgba(255, 255, 255, .8); padding: 64px 0 28px; }
.efw.efw.efw .footer-inner{ display: grid; grid-template-columns: 1.4fr 1fr 1.2fr; gap: 40px; padding-bottom: 40px; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.efw.efw.efw .footer-logo{ height: 64px; width: auto; filter: brightness(0) invert(1); margin-bottom: 16px; }
.efw.efw.efw .footer-tag{ max-width: 36ch; font-size: .95rem; }
.efw.efw.efw .footer-nav{ display: grid; gap: 10px; align-content: start; }
.efw.efw.efw .footer-nav a{ color: rgba(255, 255, 255, .8); font-family: var(--font-head); font-weight: 600; transition: color .2s; }
.efw.efw.efw .footer-nav a:hover{ color: var(--green-bright); }
.efw.efw.efw .footer-contact{ display: grid; gap: 10px; align-content: start; }
.efw.efw.efw .footer-contact a{ color: rgba(255, 255, 255, .9); font-weight: 600; transition: color .2s; }
.efw.efw.efw .footer-contact a:hover{ color: var(--green-bright); }
.efw.efw.efw .footer-ww{ font-size: .85rem; color: rgba(255, 255, 255, .55); margin-top: 6px; }
.efw.efw.efw .footer-bottom{ display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 24px; font-size: .85rem; color: rgba(255, 255, 255, .55); }


.efw.efw.efw .reveal{ opacity: 0; transform: translateY(28px); transition: opacity .7s var(--ease), transform .7s var(--ease); will-change: opacity, transform; }
.efw.efw.efw .reveal.in{ opacity: 1; transform: none; }


@media (max-width: 980px) {
  .efw.efw.efw .features, .efw.efw.efw .tiers{ grid-template-columns: repeat(2, 1fr); }
  .efw.efw.efw .gallery{ grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px; }
  .efw.efw.efw .g-tall{ grid-row: span 2; }
  .efw.efw.efw .rebate-detail{ grid-template-columns: 1fr; }
  .efw.efw.efw .footer-inner{ grid-template-columns: 1fr 1fr; }
  .efw.efw.efw .footer-brand{ grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .efw.efw.efw{ font-size: 16px; }
  
  .efw.efw.efw .nav{
    position: fixed; inset: var(--header-h) 0 auto 0; flex-direction: column; align-items: stretch; gap: 0;
    background: rgba(255, 255, 255, .98); backdrop-filter: blur(14px); padding: 14px 22px 26px;
    box-shadow: var(--shadow); border-bottom: 1px solid var(--line);
    transform: translateY(-12px); opacity: 0; pointer-events: none; transition: transform .3s var(--ease), opacity .3s;
    max-height: calc(100svh - var(--header-h)); overflow-y: auto;
  }
  .efw.efw.efw .nav.open{ transform: none; opacity: 1; pointer-events: auto; }
  .efw.efw.efw .nav > a:not(.btn){ padding: 14px 8px; border-bottom: 1px solid var(--line); border-radius: 0; font-size: 1.05rem; }
  .efw.efw.efw .nav .btn-phone{ margin: 16px 0 0; justify-content: center; }
  .efw.efw.efw .nav-toggle{ display: flex; }

  .efw.efw.efw .split, .efw.efw.efw .contact-grid{ grid-template-columns: 1fr; gap: 44px; }
  .efw.efw.efw .split-reverse .split-media{ order: 0; }
  .efw.efw.efw .media-badge{ left: auto; right: 16px; bottom: -18px; }
  .efw.efw.efw .stats-grid{ grid-template-columns: repeat(2, 1fr); }
  .efw.efw.efw .stat:nth-child(3)::before, .efw.efw.efw .stat:nth-child(2n+1)::before{ display: none; }
  .efw.efw.efw .closing-content > p{ font-size: 1.08rem; }
}

@media (max-width: 560px) {
  .efw.efw.efw .features, .efw.efw.efw .tiers, .efw.efw.efw .gallery{ grid-template-columns: 1fr; }
  .efw.efw.efw .gallery{ grid-auto-rows: 230px; }
  .efw.efw.efw .g-tall{ grid-row: span 1; }
  .efw.efw.efw .two-col{ grid-template-columns: 1fr; }
  .efw.efw.efw .field-row{ grid-template-columns: 1fr; }
  .efw.efw.efw .footer-inner{ grid-template-columns: 1fr; }
  .efw.efw.efw .hero-cta .btn, .efw.efw.efw .rebate-cta-btns .btn{ width: 100%; }
  .efw.efw.efw .receipt-total .amt{ font-size: 1.6rem; }
  .efw.efw.efw .tier-feature{ order: -1; }
}


@media (prefers-reduced-motion: reduce) {
  html{ scroll-behavior: auto; }
  .efw.efw.efw .reveal{ opacity: 1 !important; transform: none !important; transition: none; }
  .efw.efw.efw .hero-scroll svg{ animation: none; }
  .efw.efw.efw *, .efw.efw.efw *::before, .efw.efw.efw *::after{ animation-duration: .01ms !important; transition-duration: .01ms !important; }
}


/* ============================================================
   Salient native modules -> EFW design
   image_with_animation  +  nectar_btn
   ============================================================ */

/* image_with_animation: strip the wrapper chrome so my image styles apply */
#ajax-content-wrap .efw .img-with-aniamtion-wrap{ margin:0 !important; max-width:100% !important; width:100% !important; }
#ajax-content-wrap .efw .img-with-aniamtion-wrap .inner,
#ajax-content-wrap .efw .img-with-aniamtion-wrap .hover-wrap,
#ajax-content-wrap .efw .img-with-aniamtion-wrap .hover-wrap-inner,
#ajax-content-wrap .efw .img-with-aniamtion-wrap > a{ width:100% !important; height:100% !important; display:block !important; margin:0 !important; }
#ajax-content-wrap .efw .img-with-animation{ opacity:1 !important; transform:none !important; transition:transform .7s var(--ease) !important; }

/* split-section images (about, tix) */
#ajax-content-wrap .efw .split-media .img-with-animation{ width:100%; border-radius:var(--radius-lg); box-shadow:var(--shadow); object-fit:cover; aspect-ratio:4 / 3.2; display:block; }
#ajax-content-wrap .efw #tixforgood .split-media .img-with-animation{ aspect-ratio:4 / 4.4; }

/* product gallery images */
#ajax-content-wrap .efw .g-item .img-with-aniamtion-wrap,
#ajax-content-wrap .efw .g-item .inner,
#ajax-content-wrap .efw .g-item .hover-wrap,
#ajax-content-wrap .efw .g-item .hover-wrap-inner,
#ajax-content-wrap .efw .g-item > a,
#ajax-content-wrap .efw .g-item .img-with-aniamtion-wrap > a{ width:100% !important; height:100% !important; }
#ajax-content-wrap .efw .g-item .img-with-animation{ width:100%; height:100%; object-fit:cover; border-radius:0; }
#ajax-content-wrap .efw .g-item:hover .img-with-animation{ transform:scale(1.06); }

/* nectar_btn -> EFW buttons */
#ajax-content-wrap .efw a.nectar-button[class*="efw-btn"]{
  display:inline-flex !important; align-items:center; justify-content:center; gap:9px;
  font-family:var(--font-head) !important; font-weight:700 !important; font-size:1.04rem !important;
  line-height:1 !important; padding:16px 32px !important; border-radius:999px !important;
  border:2px solid transparent !important; letter-spacing:.01em; box-shadow:none;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease); text-transform:none !important;
  margin:0 !important; min-height:0 !important; min-width:0 !important; }
#ajax-content-wrap .efw a.nectar-button[class*="efw-btn"] span{ color:inherit !important; font:inherit !important; letter-spacing:inherit !important; padding:0 !important; }
#ajax-content-wrap .efw a.nectar-button[class*="efw-btn"]:hover{ transform:translateY(-2px); }
#ajax-content-wrap .efw a.nectar-button[class*="efw-btn"]::before,
#ajax-content-wrap .efw a.nectar-button[class*="efw-btn"]::after{ display:none !important; }

#ajax-content-wrap .efw a.nectar-button.efw-btnp{ background:linear-gradient(135deg,var(--green-bright),var(--green-deep)) !important; color:#fff !important; box-shadow:0 10px 24px rgba(44,118,13,.32) !important; }
#ajax-content-wrap .efw a.nectar-button.efw-btnp:hover{ box-shadow:0 16px 32px rgba(44,118,13,.42) !important; color:#fff !important; }
#ajax-content-wrap .efw a.nectar-button.efw-btng{ background:rgba(255,255,255,.12) !important; color:#fff !important; border-color:rgba(255,255,255,.55) !important; backdrop-filter:blur(4px); }
#ajax-content-wrap .efw a.nectar-button.efw-btng:hover{ background:rgba(255,255,255,.95) !important; color:var(--green-deep) !important; border-color:#fff !important; }
#ajax-content-wrap .efw a.nectar-button.efw-btngold{ background:linear-gradient(135deg,var(--gold-bright),var(--gold)) !important; color:#3a2a05 !important; box-shadow:0 10px 24px rgba(242,169,34,.4) !important; }
#ajax-content-wrap .efw a.nectar-button.efw-btngold:hover{ box-shadow:0 16px 34px rgba(242,169,34,.55) !important; color:#3a2a05 !important; }
#ajax-content-wrap .efw a.nectar-button.efw-btnout{ background:transparent !important; color:#fff !important; border-color:rgba(255,255,255,.6) !important; }
#ajax-content-wrap .efw a.nectar-button.efw-btnout:hover{ background:#fff !important; color:var(--navy) !important; border-color:#fff !important; }

/* keep button rows tidy (Salient wraps buttons in a div) */
#ajax-content-wrap .efw .btn-row .nectar-button,
#ajax-content-wrap .efw .rebate-cta-btns .nectar-button{ margin:0 !important; }
#ajax-content-wrap .efw .btn-row > div,
#ajax-content-wrap .efw .rebate-cta-btns > div{ margin:0 !important; display:inline-flex; }

/* ============================================================
   Brand variables defined GLOBALLY so native elements (outside
   the .efw wrappers) can resolve them too.
   ============================================================ */
:root{
  --green-bright:#6bc615; --green:#4fa211; --green-deep:#2c760d; --green-darkest:#1c4d0a; --green-forest:#163f08;
  --navy:#143a5e; --navy-deep:#0e2a45; --gold:#f2a922; --gold-bright:#ffc24d;
  --ink:#16210f; --body:#3d4a35; --muted:#6d7a63; --cream:#f5f8f0; --cream-2:#eef3e6; --line:#e3e9da; --white:#ffffff;
  --font-head:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --container:1180px; --radius:16px; --radius-sm:10px; --radius-lg:26px; --header-h:78px;
  --shadow-sm:0 2px 8px rgba(22,33,15,.06); --shadow:0 18px 44px rgba(22,33,15,.12); --shadow-lg:0 30px 70px rgba(22,33,15,.22);
  --ease:cubic-bezier(.22,1,.36,1);
}

/* ============================================================
   Native Milestone elements -> EFW stats bar
   ============================================================ */
#ajax-content-wrap .efw-stats{ background:var(--green-forest) !important; color:#fff;
  width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
#ajax-content-wrap .efw-stats > .vc_column-inner{ padding:0 !important; }
#ajax-content-wrap .efw-statsrow{ display:flex !important; flex-wrap:wrap; margin:0 !important; }
#ajax-content-wrap .efw-statsrow > .vc_column_container,
#ajax-content-wrap .efw-statcell{ flex:1 1 0; padding:0 !important; }
#ajax-content-wrap .efw-statcell > .vc_column-inner{ padding:40px 18px !important; text-align:center; position:relative; }
#ajax-content-wrap .efw-statcell + .efw-statcell > .vc_column-inner::before{ content:""; position:absolute; left:0; top:28%; height:44%; width:1px; background:rgba(255,255,255,.16); }

#ajax-content-wrap .efw-stats .nectar-milestone{ margin:0 !important; }
#ajax-content-wrap .efw-stats .nectar-milestone .number{ font-family:var(--font-head) !important; font-weight:800 !important;
  font-size:clamp(2.4rem,1.6rem + 2.6vw,3.4rem) !important; line-height:1 !important; color:#fff !important;
  display:inline-flex; align-items:baseline; justify-content:center; }
#ajax-content-wrap .efw-stats .nectar-milestone .number > span{ color:#fff !important; }
#ajax-content-wrap .efw-stats .nectar-milestone .symbol-wrap,
#ajax-content-wrap .efw-stats .nectar-milestone .symbol{ font-size:clamp(2.4rem,1.6rem + 2.6vw,3.4rem) !important; color:var(--green-bright) !important; line-height:1 !important; }
#ajax-content-wrap .efw-stats .nectar-milestone .subject{ margin-top:10px !important; color:rgba(255,255,255,.78) !important;
  font-size:.96rem !important; font-family:var(--font-body) !important; font-weight:400 !important; letter-spacing:0 !important; }

#ajax-content-wrap .efw-stats .efw-statword{ font-family:var(--font-head) !important; font-weight:800 !important;
  font-size:clamp(2.4rem,1.6rem + 2.6vw,3.4rem) !important; line-height:1 !important; color:var(--green-bright) !important; margin:0 !important; }
#ajax-content-wrap .efw-stats .efw-statword.vc_custom_heading{ color:#fff !important; }
#ajax-content-wrap .efw-stats .efw-statsub{ margin-top:10px !important; color:rgba(255,255,255,.78) !important; font-size:.96rem !important; text-align:center; }

@media (max-width:820px){
  #ajax-content-wrap .efw-statcell{ flex:1 1 50% !important; }
  #ajax-content-wrap .efw-statcell:nth-child(odd) > .vc_column-inner::before{ display:none; }
}

/* ============================================================
   v6: remove stray list bullets + native 2-column split sections
   ============================================================ */

/* kill default list markers everywhere in our content (keeps ::before checkmarks) */
#ajax-content-wrap .efw ul,
#ajax-content-wrap .efw ol,
#ajax-content-wrap .efw li{ list-style:none !important; }
#ajax-content-wrap .efw li::marker{ content:"" !important; }

/* native 2-column side-by-side sections (about, mission, tix, contact).
   No breakout on the column itself (Salient's centered container handles
   horizontal centering); full-bleed bg via a pseudo-element when needed. */
#ajax-content-wrap .efw-splitsec{ position:relative; }
#ajax-content-wrap .efw-splitsec.efw-cream::before{ content:""; position:absolute; top:0; bottom:0;
  left:50%; transform:translateX(-50%); width:100vw; background:var(--cream); z-index:0; }
#ajax-content-wrap .efw-splitsec > .vc_column-inner{ position:relative; z-index:1;
  max-width:1180px; margin-left:auto !important; margin-right:auto !important;
  padding:clamp(64px,8vw,118px) 0 !important; box-sizing:border-box; }
#ajax-content-wrap .efw-anchor{ height:0 !important; min-height:0 !important; margin:0 !important; padding:0 !important; overflow:hidden; }
#ajax-content-wrap .efw-anchor .wpb_wrapper{ height:0 !important; }

/* el_class is dropped on inner rows -> hook Salient's inner-column wrapper instead.
   The inner columns keep their el_class (efw-col-l / efw-col-r). */
#ajax-content-wrap .efw-splitsec .row_col_wrap_12_inner,
#ajax-content-wrap .efw-splitsec .wpb_row > .row_col_wrap_12_inner{
  display:flex !important; flex-wrap:wrap; align-items:center; gap:clamp(34px,5vw,78px) !important; }
#ajax-content-wrap .efw-splitsec .efw-col-l,
#ajax-content-wrap .efw-splitsec .efw-col-r{
  flex:1 1 0 !important; width:auto !important; max-width:none !important; min-width:280px;
  padding:0 !important; margin:0 !important; float:none !important; left:auto !important; }
#ajax-content-wrap .efw-splitsec .efw-col-l > .vc_column-inner,
#ajax-content-wrap .efw-splitsec .efw-col-r > .vc_column-inner{ padding:0 !important; }
/* CRITICAL: .efw inside a split column must NOT break out to 100vw
   (it inherits the page-8 full-bleed rule). Cancel it here. */
#ajax-content-wrap .efw-splitsec .efw-col-l .efw,
#ajax-content-wrap .efw-splitsec .efw-col-r .efw{
  width:auto !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
#ajax-content-wrap .efw-anchor p{ margin:0 !important; line-height:0 !important; font-size:0 !important; }

/* tix image is taller in the original */
#ajax-content-wrap .efw-cream .split-media .img-with-animation{ aspect-ratio:4 / 4.4; }

@media (max-width:820px){
  #ajax-content-wrap .efw-split2{ gap:44px; }
  #ajax-content-wrap .efw-split2 > .vc_column_container{ flex:1 1 100%; }
}

/* ============================================================
   v7: standalone Image + Button modules; drop custom header.
   ============================================================ */

/* ---- Un-hide Salient's native header (user manages it in WP).
   Keeps footer + page-title bar hidden (we still own those). ---- */
body.efw-active #header-outer,
body.efw-active #header-space,
body.efw-active #slide-out-widget-area,
body.efw-active #slide-out-widget-area-bg{ display:revert !important; }

/* ============================================================
   HERO — NATIVE video-background row. el_class is stripped from
   stretched video rows, so hook the unique .nectar-video-bg the
   row creates, and break the row out to full-viewport width.
   ============================================================ */
#ajax-content-wrap .wpb_row:not(.inner_row):has(.nectar-video-inner){
  width:100vw; max-width:100vw; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important;
  min-height:100svh; display:flex; align-items:center; position:relative; overflow:hidden; }
#ajax-content-wrap .wpb_row:not(.inner_row):has(.nectar-video-inner) > .row_col_wrap_12{
  width:100% !important; max-width:calc(var(--container) + 48px) !important; margin:0 auto !important;
  padding:0 24px !important; box-sizing:border-box; }
#ajax-content-wrap .wpb_row:not(.inner_row):has(.nectar-video-inner) .vc_column-inner > .wpb_wrapper{
  max-width:760px; padding:clamp(40px,9vh,96px) 0 !important; }
/* neutralize the .efw full-bleed breakout inside the hero content */
#ajax-content-wrap .wpb_row:not(.inner_row):has(.nectar-video-inner) .efw{
  width:100% !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
/* content above the row's video + overlay layers */
#ajax-content-wrap .wpb_row:not(.inner_row):has(.nectar-video-inner) .efw-herotop-tb,
#ajax-content-wrap .wpb_row:not(.inner_row):has(.nectar-video-inner) .nectar-button,
#ajax-content-wrap .wpb_row:not(.inner_row):has(.nectar-video-inner) .efw-heroscroll-tb{ position:relative; z-index:2; }
#ajax-content-wrap .wpb_row:not(.inner_row):has(.nectar-video-inner) .nectar-button{ margin:34px 14px 0 0; }
#ajax-content-wrap .wpb_row:not(.inner_row):has(.nectar-video-inner) .efw-heroscroll-tb{ margin-top:38px; }
#ajax-content-wrap .wpb_row:not(.inner_row):has(.nectar-video-inner) .hero-content{ padding-bottom:0 !important; }

/* ============================================================
   PRODUCTS — cream section + native 3-column image gallery
   ============================================================ */
#ajax-content-wrap .efw-prodsec{ position:relative; }
#ajax-content-wrap .efw-prodsec::before{ content:""; position:absolute; top:0; bottom:0; left:50%;
  transform:translateX(-50%); width:100vw; background:var(--cream); z-index:0; }
#ajax-content-wrap .efw-prodsec > .vc_column-inner{ position:relative; z-index:1;
  max-width:1180px; margin:0 auto !important; padding:clamp(64px,8vw,110px) 22px !important; box-sizing:border-box; }
/* the section-head/chips .efw must NOT break out to 100vw (it inherits the
   page-8 full-bleed rule) — keep it in the centered column like the gallery */
#ajax-content-wrap .efw-prodsec .efw{ width:auto !important; max-width:none !important;
  margin-left:0 !important; margin-right:0 !important; }
/* gallery: columns are NOT stretched; sizes are matched so the tall left
   image == the two stacked right images + the gap (480 == 232 + 232 + 16). */
#ajax-content-wrap .efw-prodsec .row_col_wrap_12_inner{ display:flex !important; flex-wrap:wrap;
  gap:16px !important; align-items:flex-start; margin-top:34px; }
#ajax-content-wrap .efw-prodsec .efw-gcol-tall,
#ajax-content-wrap .efw-prodsec .efw-gcol{ flex:1 1 0 !important; width:auto !important; max-width:none !important;
  min-width:0; padding:0 !important; margin:0 !important; float:none !important; }
#ajax-content-wrap .efw-prodsec .efw-gcol > .vc_column-inner,
#ajax-content-wrap .efw-prodsec .efw-gcol-tall > .vc_column-inner{ padding:0 !important; }
#ajax-content-wrap .efw-prodsec .efw-gcol > .vc_column-inner > .wpb_wrapper{ display:flex; flex-direction:column; gap:16px; }
/* image element fills its cell (el_class lands on the <img> itself) */
#ajax-content-wrap img.efw-galimg{ margin:0 !important; width:100% !important; object-fit:cover !important;
  border-radius:16px; display:block; opacity:1 !important; transform:none !important; max-width:100% !important; }
/* Salient wraps each image in .img-with-aniamtion-wrap whose height is NOT
   tied to the <img>; size the WRAPPER (the flex item) so the math is exact:
   right column = 232 + 16 + 232 = 480 == the tall left image. */
#ajax-content-wrap .efw-prodsec .efw-gcol .img-with-aniamtion-wrap{ height:232px !important; }
#ajax-content-wrap .efw-prodsec .efw-gcol-tall .img-with-aniamtion-wrap{ height:480px !important; }
#ajax-content-wrap .efw-prodsec .img-with-aniamtion-wrap{ border-radius:16px; overflow:hidden; }
#ajax-content-wrap .efw-prodsec .img-with-aniamtion-wrap > div,
#ajax-content-wrap .efw-prodsec .img-with-aniamtion-wrap .inner,
#ajax-content-wrap .efw-prodsec .img-with-aniamtion-wrap .hover-wrap,
#ajax-content-wrap .efw-prodsec .img-with-aniamtion-wrap .hover-wrap-inner{ height:100% !important; }
#ajax-content-wrap .efw-prodsec img.efw-galimg{ height:100% !important; border-radius:0; }
@media (max-width:760px){
  #ajax-content-wrap .efw-prodsec .row_col_wrap_12_inner{ flex-direction:column; }
  #ajax-content-wrap .efw-prodsec .efw-gcol-tall img.efw-galimg{ height:300px !important; }
}

/* ============================================================
   SPLIT standalone images (about, tix) + the "Hundreds" badge
   ============================================================ */
/* split images: el_class lands on the <img> itself */
#ajax-content-wrap img.efw-splitimg{ display:block !important; width:100% !important; margin:0 !important;
  border-radius:var(--radius-lg); box-shadow:var(--shadow); aspect-ratio:4 / 4; object-fit:cover;
  opacity:1 !important; transform:none !important; max-width:100% !important; }
#ajax-content-wrap .efw-cream img.efw-tallimg{ aspect-ratio:4 / 4.4; }
/* badge over the about image */
#ajax-content-wrap .efw-splitsec .efw-col-r{ position:relative; }
#ajax-content-wrap .efw-media-badge{ position:absolute; left:-18px; bottom:26px; z-index:3; margin:0 !important;
  background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:14px 22px; max-width:none !important; }
#ajax-content-wrap .efw-media-badge .efw{ width:auto !important; margin:0 !important; }
#ajax-content-wrap .efw-badge-inner strong{ display:block; font-family:var(--font-head); font-weight:800;
  color:var(--green-deep); font-size:1.55rem; line-height:1; }
#ajax-content-wrap .efw-badge-inner span{ display:block; font-size:.68rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted); margin-top:5px; }

/* tix CTA button sits under the text in the left column */
#ajax-content-wrap .efw-splitsec .efw-col-l > .vc_column-inner > .wpb_wrapper > .nectar-button{ margin-top:6px; }

/* ============================================================
   REBATE — navy section, body + cta + standalone buttons
   ============================================================ */
#ajax-content-wrap .efw-rebatesec{ background:linear-gradient(165deg,var(--navy),var(--navy-deep)) !important;
  color:#fff; width:100vw; max-width:100vw; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important;
  position:relative; overflow:hidden; }
#ajax-content-wrap .efw-rebatesec > .vc_column-inner{ max-width:1180px; margin:0 auto !important;
  padding:clamp(64px,8vw,110px) 22px !important; position:relative; z-index:1; }
#ajax-content-wrap .efw-rebatesec .efw{ width:100% !important; max-width:none !important;
  margin-left:0 !important; margin-right:0 !important; color:#fff; }
#ajax-content-wrap .efw-rebatesec .rebate{ background:none !important; color:#fff !important; padding:0 !important;
  width:auto !important; margin:0 !important; overflow:visible; }
/* two pricing tiers now (Option 2 removed) -> 2 columns instead of 3 */
#ajax-content-wrap .efw-rebatesec .tiers{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; max-width:790px; }
@media (max-width:640px){
  #ajax-content-wrap .efw-rebatesec .tiers{ grid-template-columns:1fr !important; }
}
#ajax-content-wrap .efw-rebatecta{ text-align:center; margin-top:48px; }
#ajax-content-wrap .efw-rebatecta h3{ color:#fff !important; }
#ajax-content-wrap .efw-rebatecta p{ color:rgba(255,255,255,.82) !important; }
#ajax-content-wrap .efw-rebatebtns{ text-align:center; margin-top:24px; padding:0 !important; }
#ajax-content-wrap .efw-rebatebtns .nectar-button{ margin:0 7px 0 0; }

/* ============================================================
   BUTTONS — de-scoped (standalone modules now live OUTSIDE .efw)
   ============================================================ */
#ajax-content-wrap a.nectar-button[class*="efw-btn"]{
  display:inline-flex !important; align-items:center; justify-content:center; gap:9px;
  font-family:var(--font-head) !important; font-weight:700 !important; font-size:1.04rem !important;
  line-height:1 !important; padding:16px 32px !important; border-radius:999px !important;
  border:2px solid transparent !important; letter-spacing:.01em;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease); text-transform:none !important;
  min-height:0 !important; min-width:0 !important; width:auto !important; }
#ajax-content-wrap a.nectar-button[class*="efw-btn"] span{ color:inherit !important; font:inherit !important; letter-spacing:inherit !important; padding:0 !important; background:none !important; }
#ajax-content-wrap a.nectar-button[class*="efw-btn"]:hover{ transform:translateY(-2px); }
#ajax-content-wrap a.nectar-button[class*="efw-btn"]::before,
#ajax-content-wrap a.nectar-button[class*="efw-btn"]::after{ display:none !important; }
#ajax-content-wrap a.nectar-button.efw-btnp{ background:linear-gradient(135deg,var(--green-bright),var(--green-deep)) !important; color:#fff !important; box-shadow:0 10px 24px rgba(44,118,13,.32) !important; }
#ajax-content-wrap a.nectar-button.efw-btnp:hover{ box-shadow:0 16px 32px rgba(44,118,13,.42) !important; color:#fff !important; }
#ajax-content-wrap a.nectar-button.efw-btng{ background:rgba(255,255,255,.12) !important; color:#fff !important; border-color:rgba(255,255,255,.55) !important; backdrop-filter:blur(4px); }
#ajax-content-wrap a.nectar-button.efw-btng:hover{ background:rgba(255,255,255,.95) !important; color:var(--green-deep) !important; border-color:#fff !important; }
#ajax-content-wrap a.nectar-button.efw-btngold{ background:linear-gradient(135deg,var(--gold-bright),var(--gold)) !important; color:#3a2a05 !important; box-shadow:0 10px 24px rgba(242,169,34,.4) !important; }
#ajax-content-wrap a.nectar-button.efw-btngold:hover{ box-shadow:0 16px 34px rgba(242,169,34,.55) !important; color:#3a2a05 !important; }
#ajax-content-wrap a.nectar-button.efw-btnout{ background:transparent !important; color:#fff !important; border-color:rgba(255,255,255,.6) !important; }
#ajax-content-wrap a.nectar-button.efw-btnout:hover{ background:#fff !important; color:var(--navy) !important; border-color:#fff !important; }
/* tix button sits on a light section -> give it visible color */
#ajax-content-wrap .efw-cream a.nectar-button.efw-btnp{ color:#fff !important; }

/* hero: kill the legacy bottom padding that reserved space for the scroll cue */
#ajax-content-wrap .efw-sec-hero .hero-content{ padding-bottom:0 !important; }
#ajax-content-wrap .efw-sec-hero .hero-scroll{ margin-top:0 !important; }

/* ============================================================
   FIX: the .efw wrapper inherited the original <body> white
   background. Invisible on light sections, but it painted a white
   box over the hero video and the rebate navy. Make it transparent
   (the page body / section column provides the real background).
   ============================================================ */
#ajax-content-wrap .efw{ background:transparent !important; }

/* ============================================================
   add5 — post-handoff tweaks. CSS only; your WPBakery page
   edits are NOT touched. Icons are restored via efw-native.js.
   ============================================================ */

/* (2) Strip the section background COLORS so you can set them in WPBakery.
   NOTE: sections with white text (stats / why / rebate) will look blank
   until you set a dark background on those rows in WPBakery. */
#ajax-content-wrap .efw-stats{ background:transparent !important; }
#ajax-content-wrap .efw .section-deep{ background:transparent !important; }
#ajax-content-wrap .efw .section-deep::before{ display:none !important; }
#ajax-content-wrap .efw .section-cream{ background:transparent !important; }
#ajax-content-wrap .efw-rebatesec{ background:transparent !important; }
#ajax-content-wrap .efw-prodsec::before{ display:none !important; }
#ajax-content-wrap .efw-splitsec.efw-cream::before{ display:none !important; }

/* (3) breathing room around the footer divider line:
   below the line cut 50% (56 -> 28), and the freed 28px added above it. */
#ajax-content-wrap .efw .footer-bottom{ padding-top:28px !important; }
#ajax-content-wrap .efw .footer-inner{ padding-bottom:28px !important; }

/* Recolor the Why-section icon boxes to match the gold "Cash Rebate Program"
   pill (linear-gradient(135deg, gold-bright, gold)). The icons go dark to keep
   contrast on gold, mirroring the pill's dark-on-gold text. */
#ajax-content-wrap .efw .feature-icon{ background:linear-gradient(135deg, var(--gold-bright), var(--gold)) !important; }
#ajax-content-wrap .efw .feature-icon svg{ color:#3a2a05 !important; }

/* Closing "Together, we solve..." section was recreated in WPBakery without
   the .efw wrapper, so it lost the brand fonts + eyebrow style. Re-apply them
   directly to .closing-content. VISUAL ONLY — no margin/padding (no spacing). */
#ajax-content-wrap .closing-content h2{ font-family:var(--font-head) !important; font-weight:800 !important; }
#ajax-content-wrap .closing-content p,
#ajax-content-wrap .closing-content .closing-thanks{ font-family:var(--font-body) !important; }
#ajax-content-wrap .closing-content .eyebrow{
  font-family:var(--font-head) !important; font-weight:700 !important; font-size:.82rem !important;
  text-transform:uppercase !important; letter-spacing:.16em !important; color:var(--green-bright) !important;
  display:inline-flex !important; align-items:center; gap:9px; }
#ajax-content-wrap .closing-content .eyebrow::before{
  content:"" !important; width:26px; height:2px; background:var(--green-bright); border-radius:2px; flex:none; }

/* Remove the Tix "Donors can win free tickets..." prizes box. */
#ajax-content-wrap .prizes{ display:none !important; }

/* Remove the Mission signature (the divider line is its top border, and
   "Josh Newman / National Sales..." is its content). */
#ajax-content-wrap .signature{ display:none !important; }

/* ============================================================
   Gravity Forms: match the site fonts + dark-green submit button
   that turns light green on hover.
   ============================================================ */
#ajax-content-wrap .gform_wrapper, #ajax-content-wrap .gform_wrapper *{ font-family:var(--font-body) !important; }
#ajax-content-wrap .gform_wrapper input, #ajax-content-wrap .gform_wrapper textarea,
#ajax-content-wrap .gform_wrapper select, #ajax-content-wrap .gform_wrapper .gfield_label,
#ajax-content-wrap .gform_wrapper label, #ajax-content-wrap .gform_wrapper .gform_title{ font-family:var(--font-body) !important; }
/* submit button */
#ajax-content-wrap .gform_wrapper input[type="submit"],
#ajax-content-wrap .gform_wrapper input.gform_button,
#ajax-content-wrap .gform_wrapper button.gform_button,
#ajax-content-wrap .gform_wrapper .gform_footer button,
#ajax-content-wrap .gform_wrapper .gform-theme-button{
  background-color:var(--green-deep) !important; background-image:none !important; color:#fff !important;
  border:0 !important; border-radius:999px !important; padding:14px 34px !important;
  font-family:var(--font-head) !important; font-weight:700 !important; font-size:1.02rem !important;
  letter-spacing:.01em; cursor:pointer; box-shadow:none !important;
  transition:background-color .2s ease, transform .2s ease !important; }
#ajax-content-wrap .gform_wrapper input[type="submit"]:hover,
#ajax-content-wrap .gform_wrapper input.gform_button:hover,
#ajax-content-wrap .gform_wrapper button.gform_button:hover,
#ajax-content-wrap .gform_wrapper .gform_footer button:hover,
#ajax-content-wrap .gform_wrapper .gform-theme-button:hover{
  background-color:var(--green-bright) !important; color:#fff !important; }

/* ============================================================
   MOBILE-ONLY optimizations. Everything below is inside a media
   query, so the desktop view is unchanged.
   ============================================================ */
@media (max-width:768px){
  /* (1) breathing room between stacked buttons. Must match Salient's own
     selector specificity (a.nectar-button[class*=efw-btn]) + the container,
     else its display:inline-flex !important wins and they overlap. */
  #ajax-content-wrap .efw-rebatebtns a.nectar-button[class*="efw-btn"]{
    display:flex !important; width:-moz-fit-content !important; width:fit-content !important; margin:0 auto 16px !important; }
  #ajax-content-wrap .efw-rebatebtns a.nectar-button[class*="efw-btn"]:last-child{ margin-bottom:0 !important; }
  #ajax-content-wrap .wpb_row:not(.inner_row):has(.nectar-video-inner):has(.efw-herotop-tb) a.nectar-button[class*="efw-btn"]{
    display:flex !important; margin:0 0 16px 0 !important; }

  /* (3) product photo grid -> single full-width column, uniform aspect ratio */
  #ajax-content-wrap .efw-prodsec .row_col_wrap_12_inner{ flex-direction:column !important; gap:14px !important; }
  #ajax-content-wrap .efw-prodsec .efw-gcol,
  #ajax-content-wrap .efw-prodsec .efw-gcol-tall{ flex:1 1 100% !important; width:100% !important; min-width:0 !important; }
  #ajax-content-wrap .efw-prodsec .efw-gcol > .vc_column-inner > .wpb_wrapper{ gap:14px; }
  #ajax-content-wrap .efw-prodsec .efw-gcol .img-with-aniamtion-wrap,
  #ajax-content-wrap .efw-prodsec .efw-gcol-tall .img-with-aniamtion-wrap{ height:auto !important; aspect-ratio:16 / 11 !important; }

  /* (4) hero: occupy exactly the screen minus the header (the live header
     height comes from --efw-header-h, set by efw-native.js). Content is
     LEFT-aligned + vertically centered (row has align-items:center, padding
     symmetric). */
  #ajax-content-wrap .wpb_row:not(.inner_row):has(.nectar-video-inner):has(.efw-herotop-tb){
    min-height:calc(100svh - var(--efw-header-h, 0px)) !important; }
  #ajax-content-wrap .wpb_row:not(.inner_row):has(.nectar-video-inner):has(.efw-herotop-tb) .vc_column-inner > .wpb_wrapper{
    padding-top:clamp(16px,4vh,40px) !important; padding-bottom:clamp(16px,4vh,40px) !important; }
  #ajax-content-wrap .hero-content .hero-title{ font-size:clamp(1.85rem,7.6vw,2.45rem) !important; line-height:1.08 !important; }
  #ajax-content-wrap .hero-content .hero-sub{ font-size:1rem !important; line-height:1.5 !important; margin-top:12px !important; }
  #ajax-content-wrap .hero-content .eyebrow{ margin-bottom:9px !important; }
  #ajax-content-wrap .efw-heroscroll-tb{ display:none !important; }
}
@media (max-width:640px){
  /* (2) switch Option 1 / Option 2 order on mobile (Option 1 first) */
  #ajax-content-wrap .efw-rebatesec .tiers{ display:flex !important; flex-direction:column; }
  #ajax-content-wrap .efw-rebatesec .tiers .tier:not(.tier-feature){ order:0 !important; }
  #ajax-content-wrap .efw-rebatesec .tiers .tier-feature{ order:1 !important; }
}

/* (4a) tighten the gap between each step's heading and its description */
#ajax-content-wrap .efw .steps li div br{ display:none !important; }
#ajax-content-wrap .efw .steps li strong{ margin-bottom:5px !important; line-height:1.3; }
/* (4b) example (receipt) + 3-step plan vertically centered on one another */
#ajax-content-wrap .efw .rebate-detail{ align-items:center !important; }

/* Make the rebate content fill the full width of the container. The top blocks
   were capped narrow (heading 720 / intro 813 / how-it-works 760 / tiers 790),
   leaving empty space on the right; the lower blocks were already full width. */
#ajax-content-wrap .efw-rebatesec .section-head,
#ajax-content-wrap .efw-rebatesec .section-head .lede,
#ajax-content-wrap .efw-rebatesec .rebate-intro,
#ajax-content-wrap .efw-rebatesec .how-it-works,
#ajax-content-wrap .efw-rebatesec .tiers{ max-width:none !important; }

/* (5) the "Together, we solve" video row must NOT inherit the hero's
   padding / full height (my hero rules match any .nectar-video-bg row;
   only the hero has .efw-herotop-tb). You control its spacing in WPBakery. */
#ajax-content-wrap .wpb_row:not(.inner_row):has(.nectar-video-inner):not(:has(.efw-herotop-tb)){ min-height:0 !important; }
#ajax-content-wrap .wpb_row:not(.inner_row):has(.nectar-video-inner):not(:has(.efw-herotop-tb)) .vc_column-inner > .wpb_wrapper{
  padding-top:0 !important; padding-bottom:0 !important; max-width:none !important; }

/* (6) clean gradient buttons. The computed background is already a clean
   light->dark gradient, so the dark "rims" on the rounded ends are the
   box-shadow's green halo (24px blur, saturated green) bleeding past the pill.
   Pull the shadow in with negative spread so it sits only BELOW the button,
   use a neutral-dark shadow color, and ensure no pseudo/layer overlays it. */
#ajax-content-wrap a.nectar-button.efw-btnp,
#ajax-content-wrap a.nectar-button.efw-btngold{
  background-color:transparent !important; border:0 !important; text-shadow:none !important;
  box-shadow:0 9px 18px -7px rgba(20,40,8,.45) !important; }
#ajax-content-wrap a.nectar-button.efw-btnp{ background-image:linear-gradient(to right, var(--green-bright), var(--green-deep)) !important; }
#ajax-content-wrap a.nectar-button.efw-btngold{ background-image:linear-gradient(to right, var(--gold-bright), var(--gold)) !important; }
#ajax-content-wrap a.nectar-button.efw-btnp:hover,
#ajax-content-wrap a.nectar-button.efw-btngold:hover{ box-shadow:0 13px 22px -7px rgba(20,40,8,.5) !important; }
#ajax-content-wrap a.nectar-button.efw-btnp::before, #ajax-content-wrap a.nectar-button.efw-btnp::after,
#ajax-content-wrap a.nectar-button.efw-btngold::before, #ajax-content-wrap a.nectar-button.efw-btngold::after{
  display:none !important; content:none !important; background:none !important; box-shadow:none !important; }

/* ============================================================
   add6 — mission column-video + equal-height fix.

   ROOT CAUSE of the breakout: setting a native Salient column-background
   video on the mission's left column made that inner row contain a
   .nectar-video-bg. The hero/closing rules matched ANY row with a video
   (:has(.nectar-video-bg)), so the mission inner row inherited the hero's
   full-viewport breakout + column centering, collapsing the empty video
   column to height 0.

   add4/add5 now scope those rules to TOP-LEVEL rows whose video is a ROW
   background (:not(.inner_row):has(.nectar-video-inner)); the mission row
   is an inner row with a COLUMN video, so it is excluded. The rules below
   give the mission its own equal-height behavior.
   ============================================================ */

/* keep the inner row inside the centered container (never full-bleed) */
#ajax-content-wrap .mission .efw-split2{
  width:auto !important; max-width:none !important;
  margin-left:0 !important; margin-right:0 !important; min-height:0 !important; }

/* equal height: stretch the two columns so the left column (which holds only
   the background video) matches the height of the text column. Our generic
   .efw-splitsec rule centers them, which is exactly what collapsed it. */
#ajax-content-wrap .mission .efw-split2 > .row_col_wrap_12_inner{
  align-items:stretch !important; }
#ajax-content-wrap .mission .efw-split2 .efw-col-l{
  align-self:stretch !important; min-height:220px; }
#ajax-content-wrap .mission .efw-split2 .efw-col-l > .vc_column-inner{
  height:100% !important; min-height:100% !important; }

/* let Salient's column-background video cover the now-stretched column */
#ajax-content-wrap .mission .efw-col-l .nectar-video-wrap,
#ajax-content-wrap .mission .efw-col-l .column-video,
#ajax-content-wrap .mission .efw-col-l .column-bg-layer{ height:100% !important; }
#ajax-content-wrap .mission .efw-col-l video.nectar-video-bg{
  width:100% !important; height:100% !important; object-fit:cover !important; }


/* ============================================================
   FOOTER third column — neutralize WordPress wpautop artifacts.
   On save, wpautop wraps the pasted phone/email links in a single
   <p> (so they run together on one line) and injects a <br>
   between the two buttons (an oversized gap). These rules correct
   the rendered result no matter how the markup gets re-wrapped, so
   no re-paste is needed.
   ============================================================ */
#ajax-content-wrap .footer-contact p{ margin:0 !important; }
#ajax-content-wrap .footer-contact a[href^="tel:"],
#ajax-content-wrap .footer-contact a[href^="mailto:"]{ display:block !important; }
#ajax-content-wrap .footer-btns br{ display:none !important; }
#ajax-content-wrap .footer-btns{ gap:24px !important; }

/* "What we stock" — text LEFT, food items as a green checkmark CARD on the RIGHT */
#ajax-content-wrap .efw-stock{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(40px,6vw,84px);
  align-items:center;                 /* equal height, vertically centered */
}
#ajax-content-wrap .efw-stock p:empty{ display:none !important; }
#ajax-content-wrap .efw-stock .section-head{
  margin:0 !important; max-width:none !important; text-align:left !important;
}

/* the right-hand card: dark→light green gradient, rounded corners, padding, white text */
#ajax-content-wrap .efw-stock .stock-list{
  list-style:none !important; margin:0 !important;
  padding:clamp(28px,3.5vw,44px) !important;
  display:grid; grid-template-columns:1fr 1fr; gap:16px 28px;
  background:linear-gradient(145deg, var(--green-deep,#2c760d), var(--green-bright,#6bc615)) !important;
  border-radius:var(--radius-lg, 22px);
  box-shadow:0 18px 40px -18px rgba(20,60,10,.45);   /* subtle lift — delete if you want it flat */
}
#ajax-content-wrap .efw-stock .stock-list li{
  position:relative; padding-left:36px; line-height:1.35; min-height:24px;
  color:#fff !important; font-weight:700 !important;                 /* white + bold */
  text-shadow:0 1px 2px rgba(0,0,0,.15);             /* keeps text crisp over the lighter end */
}
#ajax-content-wrap .efw-stock .stock-list li::marker{ content:"" !important; }

/* checkmark badge — gold/yellow circle with a dark tick, like the one you attached */
#ajax-content-wrap .efw-stock .stock-list li::before{
  content:"\2713";
  position:absolute; left:0; top:0;
  width:24px; height:24px; border-radius:50%;
  background:linear-gradient(135deg, var(--gold-bright,#ffc63d), var(--gold,#f2a922));
  color:#3a2a05;                                     /* dark tick on gold */
  display:grid; place-items:center;
  font-size:13px; font-weight:900; line-height:1;
  text-shadow:none;
}

/* "…and a whole lot more": white + bold like the rest, old pill removed */
#ajax-content-wrap .efw-stock .stock-list li.chip-more{
  background:none !important;
  color:#fff !important;
  font-style:normal !important;
  font-weight:700 !important;
  font-size:inherit !important;
  padding:0 0 0 36px !important;
  border:0 !important; border-radius:0 !important; margin:0 !important;
}

/* responsive */
@media (max-width:860px){
  #ajax-content-wrap .efw-stock{ grid-template-columns:1fr; gap:30px; align-items:start; }
}
@media (max-width:480px){
  #ajax-content-wrap .efw-stock .stock-list{ grid-template-columns:1fr; }
}
