/** Shopify CDN: Minification failed

Line 338:0 Unexpected "<"

**/
.eps-wrap *, .eps-wrap *::before, .eps-wrap *::after { box-sizing:border-box; margin:0; padding:0; }

.eps-wrap {
  --eps-red:#C52D2A; --eps-red-d:#9C1F1D; --eps-red-l:#E2564F; --eps-red-t:#FBEFEE;
  --eps-ink:#14100F; --eps-body:#4a4442; --eps-soft:#7d7472;
  --eps-line:#e6e2e0; --eps-white:#fff; --eps-off:#faf8f7; --eps-warm:#f3efed;
  --eps-gold:#B8873B; --eps-green:#2E7D52;
  background:var(--eps-white)!important; color:var(--eps-ink)!important;
  font-family:'DM Sans',sans-serif!important; font-size:16px!important; font-weight:300;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
.eps-wrap a { text-decoration:none; color:inherit; }
.eps-wrap img { display:block; max-width:100%; }
.eps-reveal { opacity:0; transform:translateY(18px);
  transition:opacity .7s cubic-bezier(.4,0,.2,1), transform .7s cubic-bezier(.4,0,.2,1); }
.eps-reveal.eps-vis { opacity:1; transform:translateY(0); }
.eps-d1{transition-delay:.07s} .eps-d2{transition-delay:.14s} .eps-d3{transition-delay:.21s} .eps-d4{transition-delay:.28s}

.eps-eyebrow { display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:16px; }
.eps-eyebrow span {
  font-family:'Syne',sans-serif!important; font-size:10px!important; font-weight:700;
  letter-spacing:.26em; text-transform:uppercase; color:var(--eps-red)!important;
}
.eps-bar { width:28px; height:1px; background:var(--eps-red); opacity:.55; }
.eps-h2 {
  font-family:'Cormorant Garamond',serif!important;
  font-size:clamp(27px,3.2vw,46px)!important;
  font-weight:300!important; line-height:1.06!important; letter-spacing:-.015em!important;
  color:var(--eps-ink)!important; text-align:center!important;
}
.eps-h2 em { font-style:italic!important; color:var(--eps-red)!important; }
.eps-lede {
  font-size:14px!important; font-weight:300; line-height:1.85;
  color:var(--eps-body)!important; text-align:center!important;
  max-width:620px; margin:16px auto 0;
}
.eps-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:'Syne',sans-serif!important; font-size:11px!important; font-weight:700!important;
  letter-spacing:.16em; text-transform:uppercase;
  color:#fff!important; background:var(--eps-red)!important;
  padding:15px 34px; border:0; cursor:pointer; transition:background .3s, transform .3s;
}
.eps-btn:hover { background:var(--eps-red-d)!important; transform:translateY(-2px); }
.eps-btn-ghost {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:'Syne',sans-serif!important; font-size:11px!important; font-weight:700!important;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--eps-ink)!important; background:transparent!important;
  border:1px solid var(--eps-line)!important; padding:15px 34px;
  transition:border-color .3s, color .3s, transform .3s;
}
.eps-btn-ghost:hover { border-color:var(--eps-red)!important; color:var(--eps-red)!important; transform:translateY(-2px); }
.eps-btn svg, .eps-btn-ghost svg { transition:transform .3s; }
.eps-btn:hover svg, .eps-btn-ghost:hover svg { transform:translateX(4px); }

/* ══ HERO ══════════════════════════════════════════════ */
/* ── HERO ──
   The award footage is dark (luma 39–138), so this hero runs dark with
   white type rather than the page's usual white. A white wash over dark
   footage just greys it out — this way the video is actually visible.
   The page turns white again immediately below. */
.eps-hero {
  position:relative; padding:72px 48px 62px; text-align:center;
  overflow:hidden; background:#0d0b0b;
}
.eps-hero-video {
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity 1.4s ease;
}
.eps-hero-video.eps-playing { opacity:1; }
.eps-hero-scrim {
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 60% at 50% 48%, rgba(10,8,8,.34) 0%, rgba(10,8,8,.66) 100%),
    linear-gradient(180deg, rgba(10,8,8,.58) 0%, rgba(10,8,8,.34) 42%, rgba(10,8,8,.74) 100%);
}
.eps-hero::before {
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(ellipse 62% 55% at 50% 40%, rgba(197,45,42,.14) 0%, transparent 70%),
    linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px);
  background-size:auto, 72px 72px, 72px 72px;
}
.eps-hero-inner { position:relative; z-index:3; max-width:880px; margin:0 auto; }
/* Dark-hero type overrides */
.eps-hero .eps-h1 { color:#fff!important; text-shadow:0 2px 40px rgba(0,0,0,.55); }
.eps-hero .eps-h1 em { color:var(--eps-red-l)!important; }
.eps-hero .eps-hero-sub { color:rgba(255,255,255,.86)!important; text-shadow:0 1px 24px rgba(0,0,0,.6); }
.eps-hero .eps-btn-ghost {
  color:#fff!important; border-color:rgba(255,255,255,.45)!important;
  background:rgba(0,0,0,.24)!important;
}
.eps-hero .eps-btn-ghost:hover {
  border-color:#fff!important; color:#fff!important; background:rgba(255,255,255,.16)!important;
}
.eps-pill {
  display:inline-flex; align-items:center; gap:9px;
  font-family:'Syne',sans-serif!important; font-size:9.5px!important; font-weight:700;
  letter-spacing:.20em; text-transform:uppercase;
  color:#fff!important; background:var(--eps-red); padding:8px 18px; margin-bottom:20px;
}
.eps-pill-dot { width:5px; height:5px; border-radius:50%; background:#fff; animation:epsBlink 1.9s ease-in-out infinite; }
@keyframes epsBlink { 0%,100%{opacity:1} 50%{opacity:.35} }
.eps-h1 {
  font-family:'Cormorant Garamond',serif!important;
  font-size:clamp(38px,5.6vw,74px)!important;
  font-weight:300!important; line-height:.94!important; letter-spacing:-.03em!important;
  color:var(--eps-ink)!important; margin-bottom:14px!important;
}
.eps-h1 em { font-style:italic!important; color:var(--eps-red)!important; display:block; }
.eps-hero-sub {
  font-family:'Cormorant Garamond',serif!important;
  font-size:clamp(17px,2vw,24px)!important;
  font-weight:300!important; font-style:italic!important;
  color:var(--eps-body)!important; max-width:580px; margin:0 auto 22px;
}
.eps-hero-btns { display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; }

/* ══ HOW IT WORKS ══════════════════════════════════════ */
.eps-how { background:var(--eps-off); padding:46px 48px 52px; border-bottom:1px solid var(--eps-line); }
.eps-how-inner { max-width:1080px; margin:0 auto; }
.eps-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:26px; }
.eps-step {
  background:var(--eps-white); border:1px solid var(--eps-line);
  padding:26px 26px 24px; position:relative; overflow:hidden;
  transition:border-color .4s, transform .4s, box-shadow .4s;
}
.eps-step:hover { border-color:rgba(197,45,42,.4); transform:translateY(-5px); box-shadow:0 20px 44px rgba(197,45,42,.09); }
.eps-step-n {
  width:34px; height:34px; border-radius:50%; margin-bottom:14px;
  background:var(--eps-red-t); border:1px solid rgba(197,45,42,.32);
  display:flex; align-items:center; justify-content:center;
  font-family:'Syne',sans-serif!important; font-size:14px!important; font-weight:800;
  color:var(--eps-red)!important;
}
.eps-step-t {
  font-family:'Cormorant Garamond',serif!important;
  font-size:24px!important; font-weight:400!important; line-height:1.15!important;
  color:var(--eps-ink)!important; margin-bottom:9px;
}
.eps-step-t em { font-style:italic!important; color:var(--eps-red)!important; }
.eps-step-d { font-size:13px!important; font-weight:300; line-height:1.75; color:var(--eps-body)!important; }

/* ══ FEATURED DEALS ════════════════════════════════════ */
/* ══ PARTNER DIRECTORY ═════════════════════════════════ */
.eps-dir { background:var(--eps-off); padding:48px 48px 54px; border-bottom:1px solid var(--eps-line); }
.eps-dir-inner { max-width:1320px; margin:0 auto; }
.eps-dir-count {
  display:flex; align-items:center; justify-content:center; gap:10px; margin-top:14px;
  font-family:'Syne',sans-serif!important; font-size:9.5px!important; font-weight:700;
  letter-spacing:.20em; text-transform:uppercase; color:var(--eps-soft)!important;
}
.eps-dir-count::before, .eps-dir-count::after { content:''; width:20px; height:1px; background:var(--eps-red); opacity:.5; }
.eps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:28px; }
.eps-card {
  background:var(--eps-white); border:1px solid var(--eps-line);
  display:flex; flex-direction:column; overflow:hidden;
  transition:border-color .35s, transform .35s, box-shadow .35s;
}
.eps-card:hover { border-color:rgba(197,45,42,.42); transform:translateY(-5px); box-shadow:0 16px 38px rgba(197,45,42,.09); }
.eps-card-logo {
  height:92px; padding:16px 20px; background:var(--eps-warm);
  display:flex; align-items:center; justify-content:center;
  border-bottom:1px dashed var(--eps-line);
}
.eps-card-logo img { max-height:52px; width:auto; object-fit:contain; mix-blend-mode:multiply; }
.eps-card-body { padding:16px 18px 18px; display:flex; flex-direction:column; flex-grow:1; }
.eps-card-n {
  font-family:'Cormorant Garamond',serif!important;
  font-size:18px!important; font-weight:400!important; line-height:1.2!important;
  color:var(--eps-ink)!important; margin-bottom:10px; min-height:2.4em;
}
.eps-card-offer {
  display:flex; align-items:baseline; flex-wrap:wrap; gap:0 8px;
  margin-top:auto; padding-top:11px; border-top:1px solid var(--eps-line);
  font-size:12px!important; font-weight:300; line-height:1.7; color:var(--eps-body)!important;
}
.eps-card-none { color:var(--eps-soft)!important; font-style:italic; }
.eps-card-go {
  font-family:'Syne',sans-serif!important; font-size:9px!important; font-weight:700;
  letter-spacing:.15em; text-transform:uppercase; color:var(--eps-red)!important;
  display:inline-flex; align-items:center; gap:6px;
}
.eps-card-go svg { transition:transform .3s; }
.eps-card:hover .eps-card-go svg { transform:translateX(4px); }
.eps-hero-benefit {
  font-size:15px!important; line-height:1.75; color:rgba(255,255,255,.82)!important;
  max-width:520px; margin:20px auto 0;
}
/* text mark for partners with no logo yet */
.eps-card-cat {
  font-family:'Syne',sans-serif!important; font-size:8px!important; font-weight:700;
  letter-spacing:.20em; text-transform:uppercase; color:var(--eps-soft)!important;
  margin-bottom:6px;
}
.eps-card-mark {
  font-family:'Cormorant Garamond',serif!important;
  font-size:22px!important; font-weight:400; font-style:italic;
  color:var(--eps-soft)!important; text-align:center; padding:0 12px; line-height:1.25;
}

/* ══ RENOVATION FINANCING ══════════════════════════════
   A quiet band, not another red CTA — it points off this page
   to the loan comparison, so it must not compete with the
   membership button above it. Opens in a new tab: a member
   half-way through reading the directory should not lose it. */
.eps-fin { background:var(--eps-white); padding:48px 48px 52px; border-bottom:1px solid var(--eps-line); }
.eps-fin-inner { max-width:1080px; margin:0 auto; }
.eps-fin-box {
  border:1px solid var(--eps-line); background:var(--eps-off);
  display:grid; grid-template-columns:1fr auto; align-items:center; gap:28px;
  padding:32px 34px; transition:border-color .4s, box-shadow .4s;
}
.eps-fin-box:hover { border-color:rgba(197,45,42,.4); box-shadow:0 20px 44px rgba(197,45,42,.07); }
.eps-fin-cat {
  font-family:'Syne',sans-serif!important; font-size:8.5px!important; font-weight:700;
  letter-spacing:.20em; text-transform:uppercase; color:var(--eps-red)!important; margin-bottom:10px;
}
.eps-fin-t {
  font-family:'Cormorant Garamond',serif!important;
  font-size:clamp(24px,2.6vw,34px)!important; font-weight:300!important;
  line-height:1.1!important; letter-spacing:-.015em!important; color:var(--eps-ink)!important;
}
.eps-fin-t em { font-style:italic!important; color:var(--eps-red)!important; }
.eps-fin-d {
  font-size:13px!important; font-weight:300; line-height:1.8;
  color:var(--eps-body)!important; max-width:560px; margin-top:10px;
}
.eps-fin-act { display:flex; flex-direction:column; align-items:flex-end; gap:9px; }
.eps-fin-note {
  font-family:'Syne',sans-serif!important; font-size:8px!important; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:var(--eps-soft)!important;
  display:flex; align-items:center; gap:6px;
}

/* ── COMING SOON (Group Buy · Influencer Partnership) ──
   Two dormant siblings sitting under the financing box.
   Deliberately quieter than .eps-fin-box: dashed border, no
   hover lift, no link — there is nowhere to send anyone yet.
   They exist to signal what the programme is growing into. */
.eps-soon-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px;
}
.eps-soon-box {
  border:1px dashed var(--eps-line); background:var(--eps-white);
  padding:26px 28px 24px; cursor:default;
}
.eps-soon-head {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:8px 14px; margin-bottom:10px;
}
.eps-soon-badge {
  font-family:'Syne',sans-serif!important; font-size:7.5px!important; font-weight:700;
  letter-spacing:.20em; text-transform:uppercase; color:var(--eps-soft)!important;
  border:1px solid var(--eps-line); border-radius:999px; padding:4px 10px 3px;
  white-space:nowrap;
}
.eps-soon-t {
  font-family:'Cormorant Garamond',serif!important;
  font-size:22px!important; font-weight:300!important;
  line-height:1.15!important; letter-spacing:-.01em!important; color:var(--eps-ink)!important;
}
.eps-soon-d {
  font-size:12.5px!important; font-weight:300; line-height:1.75;
  color:var(--eps-soft)!important;
}

/* ══ FAQ ═══════════════════════════════════════════════
   Answers sit open rather than inside an accordion. Nothing is
   hidden behind a click, which keeps the copy plainly readable
   and plainly indexable. The same questions appear in FAQPage
   JSON-LD at the foot of the file — edit one, edit the other,
   or the markup and the structured data disagree. */
.eps-faq { background:var(--eps-off); padding:54px 48px 58px; border-top:1px solid var(--eps-line); }
.eps-faq-inner { max-width:880px; margin:0 auto; }
.eps-faq-list { margin-top:28px; text-align:left; }
.eps-faq-item { border-top:1px solid var(--eps-line); padding:22px 0 20px; }
.eps-faq-item:last-child { border-bottom:1px solid var(--eps-line); }
.eps-faq-q {
  font-family:'Cormorant Garamond',serif!important;
  font-size:21px!important; font-weight:400!important; line-height:1.25!important;
  letter-spacing:-.01em!important; color:var(--eps-ink)!important; margin-bottom:8px;
}
.eps-faq-a {
  font-size:13.5px!important; font-weight:300; line-height:1.85;
  color:var(--eps-body)!important; max-width:700px;
}
.eps-faq-a a { color:var(--eps-red)!important; border-bottom:1px solid rgba(197,45,42,.32); }
.eps-faq-a a:hover { border-bottom-color:var(--eps-red); }

/* ══ TERMS ═════════════════════════════════════════════ */
.eps-terms { background:var(--eps-white); padding:40px 48px 46px; }
.eps-terms-inner { max-width:860px; margin:0 auto; text-align:center; }
.eps-terms-list {
  list-style:none; display:flex; flex-wrap:wrap; justify-content:center;
  gap:10px 22px; margin-top:20px;
}
.eps-terms-list li {
  font-size:12px!important; font-weight:300; color:var(--eps-soft)!important;
  display:flex; align-items:center; gap:8px;
}
.eps-terms-list li::before { content:''; width:4px; height:4px; border-radius:50%; background:var(--eps-red); opacity:.7; }

/* ══ RESPONSIVE ════════════════════════════════════════ */
@media (max-width:1100px) {
  .eps-grid { grid-template-columns:repeat(3,1fr); }
  .eps-steps { grid-template-columns:1fr; }
  .eps-hero { padding:46px 32px 40px; }
  .eps-how, .eps-dir, .eps-fin, .eps-faq, .eps-terms { padding-left:32px; padding-right:32px; }
}
@media (max-width:860px) {
  .eps-fin-box { grid-template-columns:1fr; gap:22px; }
  .eps-fin-act { align-items:flex-start; }
  .eps-soon-grid { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .eps-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:520px) {
  .eps-grid { grid-template-columns:1fr; }
  .eps-hero { padding:40px 20px 36px; }
  .eps-h1 { font-size:clamp(34px,10vw,54px)!important; }
  .eps-hero-btns { flex-direction:column; align-items:stretch; }
  .eps-btn, .eps-btn-ghost { width:100%; }
  .eps-how, .eps-dir, .eps-fin, .eps-terms { padding-left:20px; padding-right:20px; }
  .eps-fin-box { padding:26px 22px 28px; }
  .eps-fin-act { align-self:stretch; }
  .eps-fin-act .eps-btn-ghost { width:100%; }
}
</style>

.shopify-section.section-eps { margin:0; padding:0; max-width:none; }
noscript .eps-wrap .eps-reveal { opacity:1!important; transform:none!important; }
