/* =====================================================================
 * RSVPingo Marketing Pages — editorial restyle
 *
 * Loaded alongside style.css on pages 13 (homepage), 10 (Features),
 * and 14-19 (feature subpages). The bd nav + bd footer (from the
 * marketing-page.php template) wrap everything; page content is
 * body-only.
 *
 * Design direction: light off-white surfaces dominate. Green (#1f5132)
 * is the single accent. Navy is reserved for true product mockups
 * (the invite preview card, the dashboard mini-screen) where a dark
 * UI is intentional. No radial-gradient glows, no glass-card hero.
 * ===================================================================== */

/* ---------- Scope / base ---------- */
body.rsvpingo-bd-marketing{background:var(--white);}
body.rsvpingo-bd-marketing .rsvpingo-bd-main{padding-top:0;}

.rsvp-page{
  --rsvp-text:#0d1f3c;
  --rsvp-text-2:#3d5478;
  --rsvp-text-3:#7a96b8;
  --rsvp-border:#e0e8f4;
  --rsvp-border-2:#c8d8ee;
  --rsvp-off:#f7f8fc;
  --rsvp-g1:#f0f4fb;
  --rsvp-g2:#dde6f5;
  --rsvp-navy:#0d1f3c;
  --rsvp-green:#1f5132;
  --rsvp-green-2:#2d6f47;
  --rsvp-green-3:#3d8a5a;
  --rsvp-green-dark:#163b24;
  --rsvp-green-tint:#e8f0eb;
  --rsvp-green-tint-2:#d4e6dc;
  --rsvp-green-soft:#f3f8f5;
  --rsvp-mint:#10b981;
  --rsvp-orange:#f97316;
  --rsvp-yellow:#fbbf24;
  --rsvp-red:#f43f5e;

  font-family:'Bricolage Grotesque',-apple-system,BlinkMacSystemFont,'Inter',system-ui,sans-serif;
  color:var(--rsvp-text);line-height:1.6;
  padding-top:60px;
}
.rsvp-page *,.rsvp-page *::before,.rsvp-page *::after{box-sizing:border-box;}
.rsvp-page a{text-decoration:none;color:inherit;}

/* ---------- Shared typography helpers ---------- */
.rsvp-page .section-chip{
  display:inline-flex;align-items:center;gap:0.4rem;
  background:var(--rsvp-green-tint);
  border:1px solid var(--rsvp-green-tint-2);
  border-radius:99px;
  padding:0.3rem 0.85rem;
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.72rem;font-weight:600;
  color:var(--rsvp-green);
  text-transform:uppercase;letter-spacing:0.08em;
  margin-bottom:1rem;
}
.rsvp-page .section-chip.dark{
  background:rgba(255,255,255,0.1);
  border-color:rgba(255,255,255,0.18);
  color:rgba(255,255,255,0.85);
}
.rsvp-page .section-h{
  font-size:clamp(2rem,3.6vw,3rem) !important;
  font-weight:800 !important;
  letter-spacing:-0.025em !important;
  line-height:1.08 !important;
  color:var(--rsvp-navy) !important;
  margin:0 !important;
}
.rsvp-page .section-h em{
  font-family:'Instrument Serif',serif !important;
  font-style:italic !important;
  font-weight:400 !important;
  color:var(--rsvp-green) !important;
}
.rsvp-page .section-h.light{color:var(--rsvp-navy) !important;}
.rsvp-page .section-p{
  font-size:1rem;color:var(--rsvp-text-2);
  line-height:1.75;max-width:480px;
}
.rsvp-page .section-p.light{color:var(--rsvp-text-2) !important;}

/* ---------- Reusable buttons (legacy names) ---------- */
.rsvp-page .btn-sm{
  font-size:0.85rem;font-weight:700;color:#fff !important;
  background:var(--rsvp-green);
  padding:0.55rem 1.1rem;border-radius:8px;
  transition:background 0.15s,transform 0.1s;
}
.rsvp-page .btn-sm:hover{background:var(--rsvp-green-dark);}
.rsvp-page .btn-sm-ghost{
  font-size:0.85rem;font-weight:600;color:var(--rsvp-text-2) !important;
  padding:0.45rem 0.85rem;border-radius:8px;
  transition:background 0.15s,color 0.15s;
}
.rsvp-page .btn-sm-ghost:hover{background:var(--rsvp-green-tint);color:var(--rsvp-green) !important;}

.rsvp-page .btn-lg{
  font-size:0.95rem;font-weight:700;color:#fff !important;
  background:var(--rsvp-green) !important;
  padding:0.85rem 1.75rem;border-radius:10px;
  display:inline-flex;align-items:center;gap:0.5rem;
  transition:background 0.15s,transform 0.1s;
}
.rsvp-page .btn-lg:hover{background:var(--rsvp-green-dark) !important;transform:translateY(-2px);}
.rsvp-page .btn-lg-outline{
  font-size:0.95rem;font-weight:600;color:var(--rsvp-navy) !important;
  background:#fff;
  border:1.5px solid var(--rsvp-border-2);
  padding:0.85rem 1.5rem;border-radius:10px;
  transition:all 0.15s;
}
.rsvp-page .btn-lg-outline:hover{
  border-color:var(--rsvp-green);
  color:var(--rsvp-green) !important;
  background:var(--rsvp-green-soft);
}

/* ---------- HERO ---------- */
.rsvp-page .hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  align-items:center;
  padding:5rem 3rem;
  background:var(--rsvp-off);
  border-bottom:1px solid var(--rsvp-border);
  min-height:auto;
  overflow:visible;
  position:relative;
}
.rsvp-page .hero-l{
  display:flex;flex-direction:column;justify-content:center;
  padding:0;position:relative;z-index:1;
}
.rsvp-page .hero-tag{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:var(--rsvp-green-tint);
  border:1px solid var(--rsvp-green-tint-2);
  border-radius:999px;
  padding:0.35rem 0.95rem 0.35rem 0.45rem;
  font-size:0.75rem;font-weight:600;
  color:var(--rsvp-green);
  margin-bottom:2rem;
  width:fit-content;
}
.rsvp-page .hero-tag-pip{
  width:18px;height:18px;border-radius:50%;
  background:var(--rsvp-green);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;color:#fff;font-size:0.55rem;line-height:1;
}
.rsvp-page .hero-h1{
  font-size:clamp(2.5rem,4.8vw,4.5rem) !important;
  font-weight:800 !important;
  line-height:1.05 !important;
  letter-spacing:-0.035em !important;
  color:var(--rsvp-navy) !important;
  margin:0 0 1.5rem !important;
}
.rsvp-page .hero-h1 em{
  font-family:'Instrument Serif',serif !important;
  font-style:italic !important;
  color:var(--rsvp-green) !important;
  font-weight:400 !important;
}
.rsvp-page .hero-sub{
  font-size:1.1rem !important;
  color:var(--rsvp-text-2) !important;
  line-height:1.7 !important;
  max-width:480px;
  margin:0 0 2rem !important;
}
.rsvp-page .hero-ctas{
  display:flex;align-items:center;gap:0.75rem;
  margin-bottom:2.5rem;flex-wrap:wrap;
}
.rsvp-page .hero-live{
  display:inline-flex;align-items:center;gap:1.2rem;
  padding:0.85rem 1.1rem;
  background:#fff;
  border:1px solid var(--rsvp-border);
  border-radius:12px;
  flex-wrap:wrap;
  box-shadow:0 1px 2px rgba(13,31,60,0.04);
}
.rsvp-page .live-pip{
  width:8px;height:8px;border-radius:50%;
  background:var(--rsvp-mint);
  box-shadow:0 0 0 3px rgba(16,185,129,0.18);
  animation:rsvp-livepulse 2s ease-in-out infinite;
}
@keyframes rsvp-livepulse{
  0%,100%{box-shadow:0 0 0 3px rgba(16,185,129,0.18);}
  50%{box-shadow:0 0 0 6px rgba(16,185,129,0.08);}
}
.rsvp-page .live-text{font-size:0.8rem;font-weight:500;color:var(--rsvp-text-2);}
.rsvp-page .live-text strong{color:var(--rsvp-navy);font-weight:700;}
.rsvp-page .live-divider{width:1px;height:18px;background:var(--rsvp-border-2);}

/* Right pane — light card grid (no more navy glass-card panel) */
.rsvp-page .hero-r{
  background:transparent;
  position:relative;overflow:visible;
  display:flex;align-items:center;justify-content:center;
  padding:0;
}
.rsvp-page .hero-r::before,.rsvp-page .hero-r::after{display:none;content:none;}
.rsvp-page .hero-cards{
  position:relative;z-index:1;
  display:flex;flex-direction:column;gap:1rem;
  width:100%;max-width:380px;
}
.rsvp-page .hc{
  background:#fff;
  border:1px solid var(--rsvp-border);
  border-radius:14px;
  padding:1.25rem 1.4rem;
  backdrop-filter:none;
  box-shadow:0 1px 2px rgba(13,31,60,0.04),0 8px 24px rgba(13,31,60,0.05);
}
.rsvp-page .hc-label{
  font-size:0.62rem;font-weight:600;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--rsvp-text-3);
  margin-bottom:0.85rem;
  font-family:'DM Mono',ui-monospace,monospace;
}
.rsvp-page .hc-title{
  font-size:1rem;font-weight:700;
  color:var(--rsvp-navy);
  margin-bottom:0.5rem;
}
.rsvp-page .rsvp-row{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:0.6rem;margin-top:0.75rem;
}
.rsvp-page .rsvp-stat{
  background:var(--rsvp-off);
  border:1px solid var(--rsvp-border);
  border-radius:8px;padding:0.65rem;text-align:center;
}
.rsvp-page .rsvp-n{
  font-size:1.4rem;font-weight:800;
  line-height:1;letter-spacing:-0.02em;
  margin-bottom:0.2rem;
  color:var(--rsvp-navy);
}
.rsvp-page .rsvp-n.g{color:var(--rsvp-green);}
.rsvp-page .rsvp-n.o{color:var(--rsvp-orange);}
.rsvp-page .rsvp-n.r{color:var(--rsvp-red);}
.rsvp-page .rsvp-l{font-size:0.62rem;color:var(--rsvp-text-3);font-weight:500;}

.rsvp-page .prog-row{
  display:flex;align-items:center;gap:0.7rem;margin-bottom:0.5rem;
}
.rsvp-page .prog-label{
  font-size:0.72rem;font-weight:600;color:var(--rsvp-text-2);
  width:64px;flex-shrink:0;
}
.rsvp-page .prog-bar{
  flex:1;height:5px;
  background:var(--rsvp-g1);
  border-radius:99px;overflow:hidden;
}
.rsvp-page .prog-fill{height:100%;border-radius:99px;}
.rsvp-page .prog-val{
  font-size:0.7rem;font-weight:700;color:var(--rsvp-navy);
  min-width:28px;text-align:right;
  font-family:'DM Mono',ui-monospace,monospace;
}

.rsvp-page .notif-row{display:flex;align-items:center;gap:0.7rem;}
.rsvp-page .notif-icon{
  width:32px;height:32px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:0.95rem;
}
.rsvp-page .notif-icon.green{background:var(--rsvp-green-tint);color:var(--rsvp-green);}
.rsvp-page .notif-icon.orange{background:#fff1e6;color:var(--rsvp-orange);}
.rsvp-page .notif-title{
  font-size:0.82rem;font-weight:700;color:var(--rsvp-navy);
  margin-bottom:0.15rem;
}
.rsvp-page .notif-sub{font-size:0.72rem;color:var(--rsvp-text-3);}
.rsvp-page .notif-time{
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.65rem;color:var(--rsvp-text-3);
  margin-left:auto;flex-shrink:0;
}

.rsvp-page .hc:nth-child(1){animation:rsvp-floatA 6s ease-in-out infinite;}
.rsvp-page .hc:nth-child(2){animation:rsvp-floatB 7s 0.4s ease-in-out infinite;}
.rsvp-page .hc:nth-child(3){animation:rsvp-floatA 5.5s 0.8s ease-in-out infinite;}
@keyframes rsvp-floatA{0%,100%{transform:translateY(0);}50%{transform:translateY(-4px);}}
@keyframes rsvp-floatB{0%,100%{transform:translateY(0);}50%{transform:translateY(3px);}}

/* ---------- MARQUEE ---------- */
.rsvp-page .marquee-wrap{
  background:var(--rsvp-off);
  border-top:1px solid var(--rsvp-border);
  border-bottom:1px solid var(--rsvp-border);
  padding:1rem 0;overflow:hidden;
}
.rsvp-page .marquee-inner{
  display:flex;width:max-content;
  animation:rsvp-mq 30s linear infinite;
}
.rsvp-page .mq-item{
  display:flex;align-items:center;gap:1rem;
  padding:0 2rem;
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.72rem;font-weight:500;
  text-transform:uppercase;letter-spacing:0.08em;
  color:var(--rsvp-text-3);
  white-space:nowrap;
}
.rsvp-page .mq-sep{color:var(--rsvp-green);font-size:0.8rem;}
@keyframes rsvp-mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- FEATURES (bento) ---------- */
.rsvp-page .features{padding:6rem 3rem;background:#fff;}
.rsvp-page .features-header{
  display:flex;justify-content:space-between;align-items:flex-end;
  margin:0 auto 3rem;max-width:1100px;gap:2rem;flex-wrap:wrap;
}
.rsvp-page .bento{
  display:grid;
  grid-template-columns:5fr 3fr 4fr;
  grid-template-rows:auto auto;
  gap:1.25rem;max-width:1100px;margin:0 auto;
}
.rsvp-page .bc{
  background:#fff;
  border:1px solid var(--rsvp-border);
  border-radius:16px;padding:2rem;
  position:relative;overflow:hidden;
  transition:box-shadow 0.2s,transform 0.2s,border-color 0.2s;
}
.rsvp-page .bc:hover{
  box-shadow:0 8px 16px rgba(13,31,60,0.06),0 24px 60px rgba(13,31,60,0.08);
  transform:translateY(-2px);
  border-color:var(--rsvp-border-2);
}
.rsvp-page .bc-row{
  display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;
}
.rsvp-page .bc-icon{
  width:42px;height:42px;border-radius:10px;
  background:var(--rsvp-green-tint);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;
  font-size:1.3rem;color:var(--rsvp-green);font-weight:700;
}
.rsvp-page .bc-n{
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.62rem;font-weight:500;
  color:var(--rsvp-text-3);
  letter-spacing:0.08em;margin-bottom:0.6rem;
  text-transform:uppercase;
}
.rsvp-page .bc-title{
  font-size:1.1rem;font-weight:700;
  color:var(--rsvp-navy);
  margin-bottom:0.5rem;letter-spacing:-0.01em;
}
.rsvp-page .bc-desc{
  font-size:0.92rem;color:var(--rsvp-text-2);line-height:1.7;
}

/* Stat card — white with green stat (was navy with orange) */
.rsvp-page .bc-stat{
  display:flex;flex-direction:column;justify-content:flex-end;
  background:#fff !important;
  border-color:var(--rsvp-border) !important;
}
.rsvp-page .stat-big{
  font-size:4rem;font-weight:800;
  letter-spacing:-0.05em;line-height:1;
  color:var(--rsvp-green);
  margin-bottom:0.4rem;
}
.rsvp-page .stat-unit{font-size:2rem;color:var(--rsvp-green-2);}
.rsvp-page .stat-desc{
  font-size:0.82rem;color:var(--rsvp-text-2);font-weight:500;
}

/* Live analytics card — green-tint background */
.rsvp-page .bc-live{
  background:var(--rsvp-green-soft) !important;
  border-color:var(--rsvp-green-tint-2) !important;
}
.rsvp-page .live-badge{
  display:inline-flex;align-items:center;gap:0.4rem;
  background:rgba(31,81,50,0.1);
  border:1px solid rgba(31,81,50,0.18);
  border-radius:999px;
  padding:0.22rem 0.65rem;
  font-size:0.62rem;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--rsvp-green);
  margin-bottom:1rem;
  font-family:'DM Mono',ui-monospace,monospace;
}
.rsvp-page .live-badge-pip{
  width:5px;height:5px;border-radius:50%;
  background:var(--rsvp-mint);
  animation:rsvp-livepulse 2s infinite;
}

/* Invite preview card — KEEP navy (it's a product mockup) */
.rsvp-page .invite-card{
  background:var(--rsvp-off);
  border:1px solid var(--rsvp-border);
  border-radius:12px;padding:1.25rem;
}
.rsvp-page .invite-card-top{
  background:var(--rsvp-navy);
  border-radius:8px;padding:1rem 1.1rem 0.9rem;
  margin-bottom:0.75rem;position:relative;
}
.rsvp-page .invite-card-eyebrow{
  font-size:0.58rem;font-weight:600;letter-spacing:0.1em;
  text-transform:uppercase;color:rgba(255,255,255,0.45);
  margin-bottom:0.3rem;
}
.rsvp-page .invite-card-title{
  font-family:'Instrument Serif',serif;
  font-size:1.1rem;color:#fff;font-style:italic;line-height:1.2;
}
.rsvp-page .invite-card-dot{
  position:absolute;top:0.75rem;right:0.75rem;
  background:var(--rsvp-green-3);
  border-radius:999px;width:8px;height:8px;
}
.rsvp-page .invite-meta{
  display:flex;align-items:center;gap:0.5rem;margin-bottom:0.5rem;
  font-size:0.75rem;color:var(--rsvp-text-2);font-weight:500;
}
.rsvp-page .invite-buttons{display:flex;gap:0.5rem;}
.rsvp-page .invite-btn-accept{
  flex:1;background:var(--rsvp-green);color:#fff;
  border:none;border-radius:7px;padding:0.5rem;
  font-size:0.72rem;font-weight:700;cursor:pointer;
  font-family:inherit;
}
.rsvp-page .invite-btn-decline{
  flex:1;background:#fff;color:var(--rsvp-text-2);
  border:1px solid var(--rsvp-border);border-radius:7px;
  padding:0.5rem;font-size:0.72rem;font-weight:600;cursor:pointer;
  font-family:inherit;
}

/* Guest list panel inside bento */
.rsvp-page .guest-list{margin-top:1rem;display:flex;flex-direction:column;}
.rsvp-page .guest-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:0.55rem 0;border-bottom:1px solid var(--rsvp-border);
}
.rsvp-page .guest-row:last-child{border-bottom:none;}
.rsvp-page .guest-name{font-size:0.85rem;font-weight:600;color:var(--rsvp-navy);}
.rsvp-page .guest-tag{
  font-size:0.65rem;font-weight:700;
  padding:0.2rem 0.6rem;border-radius:999px;
}
.rsvp-page .tag-yes{background:var(--rsvp-green-tint);color:var(--rsvp-green-dark);}
.rsvp-page .tag-no{background:#fde7ea;color:#9f1239;}
.rsvp-page .tag-pend{background:#fef9c3;color:#854d0e;}

.rsvp-page .bc.wide{grid-column:span 2;}

/* ---------- TICKER (testimonial scroll) ---------- */
.rsvp-page .ticker-section{
  background:var(--rsvp-off);
  border-top:1px solid var(--rsvp-border);
  border-bottom:1px solid var(--rsvp-border);
  overflow:hidden;
}
.rsvp-page .ticker-inner{
  display:flex;width:max-content;
  animation:rsvp-mq 35s linear infinite;
  padding:1.25rem 0;
}
.rsvp-page .ticker-item{
  display:flex;align-items:center;gap:0.85rem;
  padding:0 2.5rem;white-space:nowrap;
}
.rsvp-page .ticker-av{
  width:30px;height:30px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:0.65rem;font-weight:800;color:#fff;
  flex-shrink:0;
}
.rsvp-page .ticker-msg{font-size:0.85rem;font-weight:500;color:var(--rsvp-text-2);}
.rsvp-page .ticker-msg strong{color:var(--rsvp-navy);font-weight:700;}
.rsvp-page .ticker-sep{color:var(--rsvp-border-2);margin:0 1rem;font-size:1.2rem;}

/* ---------- HOW IT WORKS ---------- */
.rsvp-page .how{
  padding:6rem 3rem;
  background:var(--rsvp-off);
  position:relative;overflow:hidden;
  border-top:1px solid var(--rsvp-border);
  border-bottom:1px solid var(--rsvp-border);
}
.rsvp-page .how::before,.rsvp-page .how::after{display:none;content:none;}
.rsvp-page .how-inner{
  display:grid;grid-template-columns:1fr 1fr;gap:5rem;
  max-width:1100px;margin:0 auto;
  align-items:start;position:relative;z-index:1;
}
.rsvp-page .how-sticky{position:sticky;top:5rem;}
.rsvp-page .how-steps{display:flex;flex-direction:column;}
.rsvp-page .step{
  display:flex;gap:1.5rem;padding:1.75rem 0;
  border-bottom:1px solid var(--rsvp-border);
}
.rsvp-page .step:first-child{border-top:1px solid var(--rsvp-border);}
.rsvp-page .step-n{
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.78rem;font-weight:700;
  color:var(--rsvp-green);
  padding-top:0.2rem;min-width:2rem;
}
.rsvp-page .step-title{
  font-size:1.1rem;font-weight:700;
  color:var(--rsvp-navy);
  letter-spacing:-0.01em;margin-bottom:0.4rem;
}
.rsvp-page .step-desc{
  font-size:0.92rem;color:var(--rsvp-text-2) !important;
  line-height:1.7;
}

/* Mini dashboard mockup — keep navy (it's a product UI screenshot vibe) */
.rsvp-page .mini-dash{
  background:var(--rsvp-navy);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:14px;overflow:hidden;
  box-shadow:0 12px 32px rgba(13,31,60,0.18),0 32px 80px rgba(13,31,60,0.15);
}
.rsvp-page .dash-topbar{
  display:flex;align-items:center;gap:0.4rem;
  padding:0.65rem 0.9rem;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.rsvp-page .dash-dot{width:7px;height:7px;border-radius:50%;}
.rsvp-page .dd1{background:#ff5f57;}
.rsvp-page .dd2{background:#febc2e;}
.rsvp-page .dd3{background:#28c840;}
.rsvp-page .dash-url{
  flex:1;text-align:center;
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.6rem;color:rgba(255,255,255,0.35);
}
.rsvp-page .dash-body{padding:1.1rem;}
.rsvp-page .dash-stats{display:flex;gap:0.6rem;margin-bottom:0.9rem;}
.rsvp-page .ds{
  flex:1;background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:6px;padding:0.65rem;
}
.rsvp-page .ds-l{
  font-size:0.56rem;color:rgba(255,255,255,0.4);
  font-family:'DM Mono',ui-monospace,monospace;
  letter-spacing:0.08em;text-transform:uppercase;
  margin-bottom:0.2rem;
}
.rsvp-page .ds-v{
  font-size:1.3rem;font-weight:800;
  letter-spacing:-0.02em;line-height:1;
}
.rsvp-page .ds-v.g{color:var(--rsvp-mint);}
.rsvp-page .ds-v.o{color:var(--rsvp-orange);}
.rsvp-page .ds-v.w{color:rgba(255,255,255,0.9);}
.rsvp-page .dash-bars{display:flex;flex-direction:column;gap:0.45rem;}
.rsvp-page .dbar-row{display:flex;align-items:center;gap:0.5rem;}
.rsvp-page .dbar-l{
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.58rem;color:rgba(255,255,255,0.4);
  width:24px;
}
.rsvp-page .dbar-track{
  flex:1;height:5px;
  background:rgba(255,255,255,0.06);
  border-radius:99px;overflow:hidden;
}
.rsvp-page .dbar-fill{
  height:100%;border-radius:99px;
  background:var(--rsvp-green-3);
}

/* ---------- TESTIMONIALS ---------- */
.rsvp-page .testi{padding:6rem 3rem;background:#fff;}
.rsvp-page .testi-header{max-width:1100px;margin:0 auto 3rem;}
.rsvp-page .testi-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1.25rem;max-width:1100px;margin:0 auto;
}
.rsvp-page .tc{
  background:var(--rsvp-off);
  border:1px solid var(--rsvp-border);
  border-radius:16px;padding:2rem;
  display:flex;flex-direction:column;
}
.rsvp-page .tc.featured{
  background:var(--rsvp-green-soft) !important;
  border-color:var(--rsvp-green-tint-2) !important;
  grid-column:span 2;
  position:relative;
}
.rsvp-page .tc.featured::before{
  content:"";position:absolute;
  top:0;left:0;bottom:0;
  width:4px;border-radius:16px 0 0 16px;
  background:var(--rsvp-green);
}
.rsvp-page .tc-stars{
  font-size:0.78rem;letter-spacing:0.12em;
  color:var(--rsvp-yellow);margin-bottom:1rem;
}
.rsvp-page .tc-quote{
  font-family:'Instrument Serif',serif !important;
  font-size:1.08rem !important;
  font-style:italic !important;
  color:var(--rsvp-text-2) !important;
  line-height:1.65 !important;
  margin-bottom:1.5rem !important;flex:1;
}
.rsvp-page .tc.featured .tc-quote{
  font-size:1.3rem !important;
  color:var(--rsvp-navy) !important;
}
.rsvp-page .tc-author{display:flex;align-items:center;gap:0.75rem;margin-top:auto;}
.rsvp-page .tc-av{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:0.68rem;font-weight:800;color:#fff;
  flex-shrink:0;
}
.rsvp-page .tc-name{font-size:0.88rem;font-weight:700;color:var(--rsvp-navy);}
.rsvp-page .tc.featured .tc-name{color:var(--rsvp-navy);}
.rsvp-page .tc-role{font-size:0.74rem;color:var(--rsvp-text-3);}
.rsvp-page .tc.featured .tc-role{color:var(--rsvp-text-2);}

/* ---------- PRICING ---------- */
.rsvp-page .pricing{padding:6rem 3rem;background:var(--rsvp-off);}
.rsvp-page .pricing-header{text-align:center;max-width:560px;margin:0 auto 3rem;}
.rsvp-page .pricing-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:1.25rem;max-width:960px;margin:0 auto;
}
.rsvp-page .pc{
  background:#fff;
  border:1.5px solid var(--rsvp-border);
  border-radius:16px;padding:2.25rem;
  position:relative;
}
.rsvp-page .pc.feat{
  border-color:var(--rsvp-green);
  box-shadow:0 0 0 4px rgba(31,81,50,0.08);
}
.rsvp-page .pc-pop{
  position:absolute;top:-13px;left:50%;
  transform:translateX(-50%);
  background:var(--rsvp-green);color:#fff;
  font-size:0.62rem;font-weight:800;
  letter-spacing:0.1em;text-transform:uppercase;
  padding:0.3rem 0.95rem;border-radius:999px;
  white-space:nowrap;
  font-family:'DM Mono',ui-monospace,monospace;
}
.rsvp-page .pc-tier{
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.7rem;font-weight:500;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--rsvp-text-3);margin-bottom:1rem;
}
.rsvp-page .pc-price{
  font-size:3.25rem;font-weight:800;
  letter-spacing:-0.04em;line-height:1;
  color:var(--rsvp-navy);margin-bottom:0.3rem;
}
.rsvp-page .pc-price sup{
  font-size:1.2rem;font-weight:600;vertical-align:super;
  color:var(--rsvp-text-2);
}
.rsvp-page .pc-period{font-size:0.82rem;color:var(--rsvp-text-3);margin-bottom:1.75rem;}
.rsvp-page .pc-div{height:1px;background:var(--rsvp-border);margin-bottom:1.5rem;}
.rsvp-page .pc-feats{
  list-style:none;display:flex;flex-direction:column;
  gap:0.75rem;margin:0 0 2rem;padding:0;
}
.rsvp-page .pc-feats li{
  display:flex;align-items:center;gap:0.55rem;
  font-size:0.92rem;color:var(--rsvp-text-2);
}
.rsvp-page .pck{
  width:18px;height:18px;border-radius:50%;
  background:var(--rsvp-green-tint);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;color:var(--rsvp-green);
  font-size:0.7rem;font-weight:800;line-height:1;
}
.rsvp-page .pcta{
  display:block;text-align:center;
  font-size:0.92rem;font-weight:700;
  padding:0.85rem;border-radius:10px;
  transition:all 0.15s;
}
.rsvp-page .pcta.primary{
  background:var(--rsvp-green);color:#fff !important;
}
.rsvp-page .pcta.primary:hover{background:var(--rsvp-green-dark);transform:translateY(-1px);}
.rsvp-page .pcta.outline{
  background:#fff;color:var(--rsvp-navy) !important;
  border:1.5px solid var(--rsvp-border-2);
}
.rsvp-page .pcta.outline:hover{
  border-color:var(--rsvp-green);color:var(--rsvp-green) !important;
  background:var(--rsvp-green-soft);
}

/* ---------- FINAL CTA — green panel (matches footer-cta pattern) ---------- */
.rsvp-page .final-cta{
  background:var(--rsvp-green);
  padding:5.5rem 3rem 6rem;
  text-align:center;
  position:relative;overflow:hidden;
}
.rsvp-page .final-cta::before,.rsvp-page .final-cta::after{display:none;content:none;}
.rsvp-page .cta-bg-text{
  position:absolute;bottom:-20px;left:50%;
  transform:translateX(-50%);
  font-size:14rem;font-weight:800;
  letter-spacing:-0.06em;
  color:rgba(255,255,255,0.06);
  white-space:nowrap;pointer-events:none;
}
.rsvp-page .final-cta-inner{position:relative;z-index:2;margin:0 auto;}
.rsvp-page .final-cta h2{
  font-size:clamp(2.25rem,5vw,4.5rem) !important;
  font-weight:800 !important;
  letter-spacing:-0.035em !important;
  line-height:1.05 !important;
  color:#fff !important;
  max-width:750px !important;
  margin:0 auto 1.25rem !important;
}
.rsvp-page .final-cta h2 em{
  font-family:'Instrument Serif',serif !important;
  font-style:italic !important;
  font-weight:400 !important;
  color:#fff !important;
  opacity:0.9;
}
.rsvp-page .final-cta p{
  font-size:1.05rem !important;
  color:rgba(255,255,255,0.85) !important;
  max-width:480px !important;
  margin:0 auto 2.5rem !important;
  line-height:1.7 !important;
}
.rsvp-page .cta-buttons{
  display:flex;align-items:center;justify-content:center;
  gap:1rem;flex-wrap:wrap;
}
.rsvp-page .btn-cta{
  font-size:1rem;font-weight:700;
  color:var(--rsvp-green) !important;
  background:#fff !important;
  padding:0.95rem 2rem;border-radius:10px;
  transition:all 0.18s;
}
.rsvp-page .btn-cta:hover{
  background:var(--rsvp-green-dark) !important;
  color:#fff !important;
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(0,0,0,0.2);
}
.rsvp-page .btn-cta-ghost{
  font-size:1rem;font-weight:600;
  color:#fff !important;
  background:transparent;
  border:1px solid rgba(255,255,255,0.3);
  padding:0.95rem 1.75rem;border-radius:10px;
  transition:all 0.18s;
}
.rsvp-page .btn-cta-ghost:hover{
  background:rgba(255,255,255,0.1);
  border-color:rgba(255,255,255,0.5);
}
.rsvp-page .cta-note{
  font-size:0.82rem !important;
  color:rgba(255,255,255,0.7) !important;
  margin-top:1.5rem !important;
}

/* ---------- MOBILE ---------- */
@media (max-width:900px){
  .rsvp-page .hero{
    grid-template-columns:1fr;
    padding:4rem 1.5rem 3rem;
    gap:3rem;
  }
  .rsvp-page .hero-r{padding:0;}
  .rsvp-page .hero-cards{max-width:100%;}
  .rsvp-page .features{padding:4rem 1.5rem;}
  .rsvp-page .features-header{flex-direction:column;align-items:flex-start;gap:1.5rem;}
  .rsvp-page .bento{grid-template-columns:1fr;}
  .rsvp-page .bc.wide{grid-column:span 1;}
  .rsvp-page .bc-row{grid-template-columns:1fr;}
  .rsvp-page .how{padding:4rem 1.5rem;}
  .rsvp-page .how-inner{grid-template-columns:1fr;gap:3rem;}
  .rsvp-page .how-sticky{position:static;}
  .rsvp-page .testi{padding:4rem 1.5rem;}
  .rsvp-page .testi-grid{grid-template-columns:1fr;}
  .rsvp-page .tc.featured{grid-column:span 1;}
  .rsvp-page .pricing{padding:4rem 1.5rem;}
  .rsvp-page .pricing-grid{grid-template-columns:1fr;}
  .rsvp-page .final-cta{padding:4rem 1.5rem 5rem;}
  .rsvp-page .cta-bg-text{font-size:7rem;}
}

/* =====================================================================
 * Gutenberg blocks — for pages built with the native WP editor.
 * Covers pages 10 (Features), 15-19 (feature subpages). Scoped to
 * .rsvpingo-bd-marketing-main so blog post content stays untouched.
 * ===================================================================== */

body.rsvpingo-bd-marketing .rsvpingo-bd-marketing-main{
  padding-top:60px;
  background:#fff;
  color:#0d1f3c;
  font-family:'Bricolage Grotesque',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
}

/* Container for raw Gutenberg content (no .rsvp-page wrapper) */
.rsvpingo-bd-marketing-main > .entry-content,
.rsvpingo-bd-marketing-main > .wp-block-post-content,
.rsvpingo-bd-marketing-main > .wp-site-blocks,
.rsvpingo-bd-marketing-main{
  --gb-text:#0d1f3c;
  --gb-text-2:#3d5478;
  --gb-text-3:#7a96b8;
  --gb-border:#e0e8f4;
  --gb-border-2:#c8d8ee;
  --gb-off:#f7f8fc;
  --gb-green:#1f5132;
  --gb-green-dark:#163b24;
  --gb-green-tint:#e8f0eb;
  --gb-green-tint-2:#d4e6dc;
  --gb-green-soft:#f3f8f5;
}

/* If theme wraps content in its own classes, we still want our padding */
.rsvpingo-bd-marketing-main .entry-content,
.rsvpingo-bd-marketing-main .wp-block-post-content{
  max-width:880px;
  margin:0 auto;
  padding:4rem 1.5rem 5rem;
  font-size:1.05rem;
  line-height:1.75;
  color:var(--gb-text-2);
}

/* If no theme wrapper, target the main directly */
.rsvpingo-bd-marketing-main > h1,
.rsvpingo-bd-marketing-main > h2,
.rsvpingo-bd-marketing-main > h3,
.rsvpingo-bd-marketing-main > p,
.rsvpingo-bd-marketing-main > ul,
.rsvpingo-bd-marketing-main > ol,
.rsvpingo-bd-marketing-main > blockquote,
.rsvpingo-bd-marketing-main > .wp-block-columns,
.rsvpingo-bd-marketing-main > .wp-block-buttons{
  max-width:880px;
  margin-left:auto;
  margin-right:auto;
  padding-left:1.5rem;
  padding-right:1.5rem;
}

/* ---------- Headings ---------- */
.rsvpingo-bd-marketing-main h1.wp-block-heading,
.rsvpingo-bd-marketing-main > h1{
  font-size:clamp(2.5rem,5vw,4rem);
  font-weight:800;
  letter-spacing:-0.035em;
  line-height:1.05;
  color:#0d1f3c;
  margin:5rem auto 1.5rem;
  max-width:880px;
  padding:0 1.5rem;
}

.rsvpingo-bd-marketing-main h2.wp-block-heading,
.rsvpingo-bd-marketing-main > h2{
  font-size:clamp(1.75rem,3.2vw,2.5rem);
  font-weight:800;
  letter-spacing:-0.025em;
  line-height:1.15;
  color:#0d1f3c;
  margin:4rem auto 1rem;
  max-width:880px;
  padding:0 1.5rem;
  position:relative;
}

.rsvpingo-bd-marketing-main h3.wp-block-heading,
.rsvpingo-bd-marketing-main > h3{
  font-size:1.35rem;
  font-weight:700;
  letter-spacing:-0.015em;
  line-height:1.3;
  color:#0d1f3c;
  margin:2.5rem auto 0.75rem;
  max-width:880px;
  padding:0 1.5rem;
}

/* ---------- Paragraphs / text ---------- */
.rsvpingo-bd-marketing-main p{
  font-size:1.05rem;
  color:#3d5478;
  line-height:1.75;
  margin:0 auto 1.25rem;
  max-width:880px;
  padding:0 1.5rem;
}

.rsvpingo-bd-marketing-main a{
  color:#1f5132;
  text-decoration:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
}
.rsvpingo-bd-marketing-main a:hover{color:#163b24;}
.rsvpingo-bd-marketing-main strong{color:#0d1f3c;font-weight:700;}

/* ---------- Lists ---------- */
.rsvpingo-bd-marketing-main ul,
.rsvpingo-bd-marketing-main ol{
  font-size:1.02rem;
  color:#3d5478;
  line-height:1.75;
  margin:0 auto 1.5rem;
  max-width:880px;
  padding:0 1.5rem 0 3rem;
}
.rsvpingo-bd-marketing-main li{margin:0.5rem 0;}
.rsvpingo-bd-marketing-main ul{list-style:none;padding-left:1.5rem;}
.rsvpingo-bd-marketing-main ul li{position:relative;padding-left:1.5rem;}
.rsvpingo-bd-marketing-main ul li::before{
  content:"";
  position:absolute;
  left:0;
  top:0.7em;
  width:6px;height:6px;
  border-radius:50%;
  background:#1f5132;
}

/* ---------- Columns ---------- */
.rsvpingo-bd-marketing-main .wp-block-columns{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:1.25rem;
  margin:2.5rem auto 2rem;
  max-width:1100px;
  padding:0 1.5rem;
}
.rsvpingo-bd-marketing-main .wp-block-column{
  background:#f3f8f5;
  border:1px solid #d4e6dc;
  border-radius:14px;
  padding:1.5rem;
}
.rsvpingo-bd-marketing-main .wp-block-column h3,
.rsvpingo-bd-marketing-main .wp-block-column h3.wp-block-heading{
  font-size:2.25rem;
  font-weight:800;
  letter-spacing:-0.04em;
  line-height:1;
  color:#1f5132;
  margin:0 0 0.6rem;
  padding:0;
}
.rsvpingo-bd-marketing-main .wp-block-column p{
  font-size:0.9rem;
  color:#3d5478;
  margin:0;
  padding:0;
  line-height:1.6;
}

/* ---------- Quote ---------- */
.rsvpingo-bd-marketing-main blockquote.wp-block-quote{
  max-width:880px;
  margin:3rem auto;
  padding:1.5rem 2rem 1.5rem 2rem;
  border-left:4px solid #1f5132;
  background:#f3f8f5;
  border-radius:0 14px 14px 0;
}
.rsvpingo-bd-marketing-main blockquote.wp-block-quote p{
  font-family:'Instrument Serif',serif;
  font-style:italic;
  font-size:1.3rem;
  line-height:1.5;
  color:#0d1f3c;
  margin:0 0 1rem;
  padding:0;
  max-width:none;
}
.rsvpingo-bd-marketing-main blockquote.wp-block-quote cite{
  display:block;
  font-style:normal;
  font-size:0.88rem;
  font-weight:600;
  color:#1f5132;
  letter-spacing:0.01em;
}

/* ---------- Buttons ---------- */
.rsvpingo-bd-marketing-main .wp-block-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
  margin:2rem auto;
  max-width:880px;
  padding:0 1.5rem;
}

.rsvpingo-bd-marketing-main .wp-block-button{margin:0;}

.rsvpingo-bd-marketing-main .wp-block-button__link,
.rsvpingo-bd-marketing-main .wp-block-button .wp-element-button{
  display:inline-block;
  background:#1f5132 !important;
  color:#ffffff !important;
  padding:0.9rem 1.75rem;
  border-radius:10px;
  font-weight:700;
  font-size:0.95rem;
  text-decoration:none !important;
  border:none;
  transition:background 0.15s,transform 0.1s;
  font-family:inherit;
}
.rsvpingo-bd-marketing-main .wp-block-button__link:hover,
.rsvpingo-bd-marketing-main .wp-block-button .wp-element-button:hover{
  background:#163b24 !important;
  color:#ffffff !important;
  transform:translateY(-1px);
}

.rsvpingo-bd-marketing-main .wp-block-button.is-style-outline .wp-block-button__link,
.rsvpingo-bd-marketing-main .wp-block-button.is-style-outline .wp-element-button{
  background:#ffffff !important;
  color:#0d1f3c !important;
  border:1.5px solid #c8d8ee;
}
.rsvpingo-bd-marketing-main .wp-block-button.is-style-outline .wp-block-button__link:hover,
.rsvpingo-bd-marketing-main .wp-block-button.is-style-outline .wp-element-button:hover{
  background:#f3f8f5 !important;
  color:#1f5132 !important;
  border-color:#1f5132;
}

/* ---------- Mobile ---------- */
@media (max-width:680px){
  .rsvpingo-bd-marketing-main h1.wp-block-heading,
  .rsvpingo-bd-marketing-main > h1{margin-top:3rem;}
  .rsvpingo-bd-marketing-main h2.wp-block-heading,
  .rsvpingo-bd-marketing-main > h2{margin-top:3rem;}
  .rsvpingo-bd-marketing-main .wp-block-columns{grid-template-columns:1fr;}
}

/* =====================================================================
 * Landing page components (.lp-*)
 *
 * For standalone marketing landing pages (features, use cases, etc.).
 * Page content is wrapped in <div class="lp-page">. Each section uses
 * the .lp-* prefix. Green accent throughout, light editorial surfaces,
 * navy used only for product mockups (.lp-block-viz.dark).
 * ===================================================================== */

.lp-page{
  --lp-text:#0d1f3c;
  --lp-text-2:#3d5478;
  --lp-text-3:#7a96b8;
  --lp-border:#e0e8f4;
  --lp-border-2:#c8d8ee;
  --lp-off:#f7f8fc;
  --lp-g1:#f0f4fb;
  --lp-navy:#0d1f3c;
  --lp-green:#1f5132;
  --lp-green-2:#2d6f47;
  --lp-green-3:#3d8a5a;
  --lp-green-dark:#163b24;
  --lp-green-tint:#e8f0eb;
  --lp-green-tint-2:#d4e6dc;
  --lp-green-soft:#f3f8f5;
  --lp-mint:#10b981;
  --lp-yellow:#fbbf24;

  font-family:'Bricolage Grotesque',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  color:var(--lp-text);
  line-height:1.6;
  padding-top:60px;
}
.lp-page *,.lp-page *::before,.lp-page *::after{box-sizing:border-box;}
.lp-page a{text-decoration:none;color:inherit;}

/* ---------- Crumb / breadcrumbs ---------- */
.lp-crumb{
  max-width:1180px;margin:0 auto;
  padding:1.5rem 1.5rem 0;
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.7rem;
  color:var(--lp-text-3);
  letter-spacing:0.05em;
}
.lp-crumb a{color:var(--lp-text-3);}
.lp-crumb a:hover{color:var(--lp-green);}
.lp-crumb-sep{margin:0 0.5rem;color:var(--lp-border-2);}

/* ---------- HERO ---------- */
.lp-hero{
  max-width:1180px;
  margin:0 auto;
  padding:3rem 1.5rem 5rem;
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:4rem;
  align-items:center;
}
.lp-hero-chip{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:var(--lp-green-tint);
  border:1px solid var(--lp-green-tint-2);
  border-radius:999px;
  padding:0.3rem 0.95rem 0.3rem 0.5rem;
  font-size:0.72rem;font-weight:700;
  color:var(--lp-green);
  text-transform:uppercase;letter-spacing:0.08em;
  margin-bottom:1.5rem;
  width:fit-content;
}
.lp-hero-chip-pip{
  width:16px;height:16px;border-radius:50%;
  background:var(--lp-green);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:0.55rem;
}
.lp-hero-h1{
  font-size:clamp(2.5rem,4.6vw,4.25rem);
  font-weight:800;
  line-height:1.02;
  letter-spacing:-0.04em;
  color:var(--lp-navy);
  margin:0 0 1.5rem;
}
.lp-hero-em{
  font-family:'Instrument Serif',serif;
  font-style:italic;
  font-weight:400;
  color:var(--lp-green);
}
.lp-hero-sub{
  font-size:1.1rem;
  color:var(--lp-text-2);
  line-height:1.7;
  max-width:520px;
  margin:0 0 2rem;
}
.lp-hero-ctas{
  display:flex;align-items:center;gap:0.75rem;
  margin-bottom:2rem;flex-wrap:wrap;
}
.lp-hero-trust{
  display:flex;align-items:center;gap:1.25rem;
  font-size:0.82rem;
  color:var(--lp-text-3);
  font-weight:500;flex-wrap:wrap;
}
.lp-hero-trust-check{
  display:inline-flex;align-items:center;gap:0.4rem;
}
.lp-hero-trust-check::before{
  content:"";
  width:14px;height:14px;border-radius:50%;
  background:var(--lp-green);
  display:inline-flex;flex-shrink:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3 6.5l2 2 4-4.5'/></svg>");
  background-size:contain;
}

/* ---------- BUTTONS (landing) ---------- */
.lp-btn-primary{
  display:inline-flex;align-items:center;gap:0.4rem;
  font-size:0.95rem;font-weight:700;
  color:#fff !important;
  background:var(--lp-green) !important;
  padding:0.85rem 1.75rem;border-radius:10px;
  border:none;cursor:pointer;
  transition:background 0.15s,transform 0.1s;
}
.lp-btn-primary:hover{
  background:var(--lp-green-dark) !important;
  color:#fff !important;
  transform:translateY(-2px);
}
.lp-btn-secondary{
  display:inline-flex;align-items:center;gap:0.4rem;
  font-size:0.95rem;font-weight:600;
  color:var(--lp-navy) !important;
  background:#fff;
  border:1.5px solid var(--lp-border-2);
  padding:0.85rem 1.5rem;border-radius:10px;
  transition:all 0.15s;
}
.lp-btn-secondary:hover{
  border-color:var(--lp-green);
  color:var(--lp-green) !important;
  background:var(--lp-green-soft);
}

/* ---------- Hero visual mock (default = light card with stacked elements) ---------- */
.lp-hero-mock{
  background:var(--lp-off);
  border:1px solid var(--lp-border);
  border-radius:18px;
  padding:1.75rem;
  position:relative;
  overflow:hidden;
}
.lp-hero-mock-card{
  background:#fff;
  border:1px solid var(--lp-border);
  border-radius:14px;
  padding:1.4rem;
  position:relative;z-index:2;
  box-shadow:0 1px 2px rgba(13,31,60,0.04),0 12px 32px rgba(13,31,60,0.07);
}
.lp-hero-mock-band{
  display:flex;align-items:center;justify-content:space-between;
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--lp-text-3);
  margin-bottom:1rem;padding-bottom:0.75rem;
  border-bottom:1px dashed var(--lp-border);
}
.lp-hero-mock-tag{
  background:var(--lp-green-tint);
  color:var(--lp-green);
  padding:0.2rem 0.55rem;border-radius:999px;
  font-weight:700;
}
.lp-hero-mock-eyebrow{
  font-size:0.68rem;font-weight:700;
  color:var(--lp-text-3);
  letter-spacing:0.1em;text-transform:uppercase;
  margin-bottom:0.4rem;
}
.lp-hero-mock-title{
  font-family:'Instrument Serif',serif;
  font-style:italic;
  font-size:1.85rem;
  color:var(--lp-navy);
  line-height:1.1;
  margin-bottom:1rem;
}
.lp-hero-mock-meta{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1.25rem;}
.lp-hero-mock-meta-row{
  display:flex;align-items:center;gap:0.5rem;
  font-size:0.82rem;color:var(--lp-text-2);font-weight:500;
}
.lp-hero-mock-cta-row{display:flex;gap:0.5rem;}
.lp-hero-mock-btn{
  flex:1;text-align:center;
  font-family:inherit;font-size:0.78rem;font-weight:700;
  padding:0.65rem;border-radius:8px;cursor:pointer;border:none;
}
.lp-hero-mock-btn.yes{background:var(--lp-green);color:#fff;}
.lp-hero-mock-btn.no{
  background:#fff;color:var(--lp-text-2);
  border:1px solid var(--lp-border);
}
.lp-hero-mock-pill{
  position:absolute;bottom:0.85rem;left:50%;
  transform:translateX(-50%);
  background:#fff;
  border:1px solid var(--lp-border);
  border-radius:999px;
  padding:0.4rem 0.9rem;
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.65rem;
  color:var(--lp-text-2);
  letter-spacing:0.04em;
  display:flex;align-items:center;gap:0.5rem;
  z-index:3;
  box-shadow:0 1px 2px rgba(13,31,60,0.04);
}
.lp-hero-mock-pill-dot{
  width:6px;height:6px;border-radius:50%;background:var(--lp-mint);
}

/* ---------- STATS ROW ---------- */
.lp-stats{
  background:var(--lp-off);
  border-top:1px solid var(--lp-border);
  border-bottom:1px solid var(--lp-border);
  padding:5rem 1.5rem;
}
.lp-stats-inner{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;
  gap:5rem;align-items:center;
}
.lp-stats-text-eyebrow{
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.7rem;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--lp-green);
  margin-bottom:1rem;
}
.lp-stats-h{
  font-size:clamp(1.85rem,3vw,2.5rem);
  font-weight:800;
  line-height:1.1;
  letter-spacing:-0.03em;
  color:var(--lp-navy);
  margin:0 0 1.25rem;
}
.lp-stats-p{
  font-size:1rem;
  color:var(--lp-text-2);
  line-height:1.75;
  margin:0 0 1rem;
}
.lp-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.lp-stat{
  background:#fff;
  border:1px solid var(--lp-border);
  border-radius:14px;
  padding:1.5rem;
}
.lp-stat-num{
  font-size:2.4rem;font-weight:800;
  letter-spacing:-0.04em;line-height:1;
  color:var(--lp-green);
  margin-bottom:0.35rem;
}
.lp-stat-num em{
  font-family:'Instrument Serif',serif;
  font-style:italic;font-weight:400;
  color:var(--lp-green-2);
}
.lp-stat-label{
  font-size:0.82rem;
  color:var(--lp-text-2);
  line-height:1.5;font-weight:500;
}

/* ---------- DEEP DIVE (alternating text + viz blocks) ---------- */
.lp-deep{padding:5rem 1.5rem;background:#fff;}
.lp-deep-header{max-width:780px;margin:0 auto 4rem;text-align:center;}
.lp-deep-chip{
  display:inline-flex;align-items:center;gap:0.4rem;
  background:var(--lp-green-tint);
  border:1px solid var(--lp-green-tint-2);
  border-radius:99px;
  padding:0.3rem 0.85rem;
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.7rem;font-weight:700;
  color:var(--lp-green);
  text-transform:uppercase;letter-spacing:0.08em;
  margin-bottom:1rem;
}
.lp-deep-h{
  font-size:clamp(2rem,3.4vw,2.85rem);
  font-weight:800;
  letter-spacing:-0.03em;
  line-height:1.05;
  color:var(--lp-navy);
  margin:0;
}
.lp-deep-h em{
  font-family:'Instrument Serif',serif;
  font-style:italic;font-weight:400;
  color:var(--lp-green);
}
.lp-deep-p{
  font-size:0.98rem;
  color:var(--lp-text-2);
  line-height:1.7;
  margin:1rem auto 0;
  max-width:580px;
}

.lp-block{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;
  gap:5rem;align-items:center;padding:3rem 0;
}
.lp-block-flip{direction:rtl;}
.lp-block-flip > *{direction:ltr;}
.lp-block-eyebrow{
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.65rem;font-weight:600;
  color:var(--lp-text-3);
  letter-spacing:0.1em;
  margin-bottom:0.75rem;
  text-transform:uppercase;
}
.lp-block-h{
  font-size:1.85rem;font-weight:800;
  color:var(--lp-navy);
  letter-spacing:-0.025em;
  line-height:1.15;
  margin:0 0 1rem;
}
.lp-block-p{
  font-size:0.98rem;
  color:var(--lp-text-2);
  line-height:1.75;
  margin:0 0 1.5rem;
}
.lp-block-list{
  list-style:none;
  display:flex;flex-direction:column;gap:0.6rem;
  margin:0;padding:0;
}
.lp-block-list li{
  display:flex;align-items:flex-start;gap:0.65rem;
  font-size:0.92rem;color:var(--lp-text-2);
  line-height:1.55;
}
.lp-block-list li::before{
  content:"";
  width:18px;height:18px;border-radius:50%;
  background:var(--lp-green-tint);
  color:var(--lp-green);
  display:inline-flex;flex-shrink:0;
  margin-top:0.1rem;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'><path fill='none' stroke='%231f5132' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 7.5l2.5 2.5 5-6'/></svg>");
  background-size:contain;
}
.lp-block-viz{
  background:var(--lp-off);
  border:1px solid var(--lp-border);
  border-radius:18px;
  padding:2rem;
  min-height:320px;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.lp-block-viz.dark{
  background:var(--lp-navy);
  border-color:var(--lp-navy);
  color:rgba(255,255,255,0.9);
}
.lp-block-viz.green{
  background:var(--lp-green-soft);
  border-color:var(--lp-green-tint-2);
}

/* ---------- USE CASES GRID ---------- */
.lp-use{padding:5rem 1.5rem;background:var(--lp-off);border-top:1px solid var(--lp-border);border-bottom:1px solid var(--lp-border);}
.lp-use-header{max-width:780px;margin:0 auto 3rem;text-align:center;}
.lp-use-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
  max-width:1100px;margin:0 auto;
}
.lp-use-card{
  background:#fff;
  border:1px solid var(--lp-border);
  border-radius:16px;
  padding:1.75rem;
  transition:border-color 0.18s,transform 0.18s,box-shadow 0.18s;
}
.lp-use-card:hover{
  border-color:var(--lp-green-2);
  transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(31,81,50,0.08);
}
.lp-use-icon{
  width:40px;height:40px;border-radius:10px;
  background:var(--lp-green-tint);
  color:var(--lp-green);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;
  font-size:1.2rem;
}
.lp-use-h{
  font-size:1.05rem;font-weight:700;
  color:var(--lp-navy);
  margin-bottom:0.5rem;
  letter-spacing:-0.01em;
}
.lp-use-p{
  font-size:0.88rem;
  color:var(--lp-text-2);
  line-height:1.65;
}

/* ---------- TESTIMONIAL PULL-QUOTE ---------- */
.lp-quote-section{padding:5rem 1.5rem;background:#fff;}
.lp-quote{
  max-width:880px;margin:0 auto;
  background:var(--lp-green-soft);
  border:1px solid var(--lp-green-tint-2);
  border-left:4px solid var(--lp-green);
  border-radius:18px;
  padding:3rem;
  position:relative;
}
.lp-quote-text{
  font-family:'Instrument Serif',serif;
  font-style:italic;
  font-size:1.45rem;
  line-height:1.5;
  color:var(--lp-navy);
  margin:0 0 1.5rem;
}
.lp-quote-author{
  display:flex;align-items:center;gap:0.85rem;
}
.lp-quote-av{
  width:42px;height:42px;border-radius:50%;
  background:var(--lp-green);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:0.78rem;
  flex-shrink:0;
}
.lp-quote-name{
  font-size:0.9rem;font-weight:700;
  color:var(--lp-navy);
}
.lp-quote-role{
  font-size:0.78rem;
  color:var(--lp-text-2);
}

/* ---------- FAQ ---------- */
.lp-faq{padding:5rem 1.5rem;background:var(--lp-off);}
.lp-faq-inner{max-width:780px;margin:0 auto;}
.lp-faq-header{text-align:center;margin-bottom:2.5rem;}
.lp-faq-list{display:flex;flex-direction:column;gap:0.5rem;}
.lp-faq-item{
  background:#fff;
  border:1px solid var(--lp-border);
  border-radius:12px;
  padding:1rem 1.25rem;
  transition:border-color 0.2s,box-shadow 0.2s;
}
.lp-faq-item[open]{
  border-color:var(--lp-green-2);
  box-shadow:0 4px 14px rgba(13,31,60,0.05);
}
.lp-faq-item summary{
  font-weight:700;
  color:var(--lp-navy);
  cursor:pointer;
  list-style:none;
  position:relative;
  padding-right:2rem;
  font-size:1rem;
}
.lp-faq-item summary::-webkit-details-marker{display:none;}
.lp-faq-item summary::after{
  content:"+";
  position:absolute;right:0;top:50%;
  transform:translateY(-50%);
  font-size:1.5rem;
  color:var(--lp-green);
  font-weight:400;
  transition:transform 0.2s;
}
.lp-faq-item[open] summary::after{content:"−";}
.lp-faq-item-body{
  margin-top:0.75rem;
  font-size:0.92rem;
  color:var(--lp-text-2);
  line-height:1.7;
}

/* ---------- RELATED FEATURES ---------- */
.lp-related{padding:5rem 1.5rem;background:#fff;border-top:1px solid var(--lp-border);}
.lp-related-inner{max-width:1100px;margin:0 auto;}
.lp-related-header{text-align:center;margin-bottom:3rem;}
.lp-related-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.lp-related-card{
  background:var(--lp-off);
  border:1px solid var(--lp-border);
  border-radius:14px;
  padding:1.5rem;
  display:flex;flex-direction:column;gap:0.5rem;
  transition:border-color 0.18s,transform 0.18s,box-shadow 0.18s;
}
.lp-related-card:hover{
  border-color:var(--lp-green);
  transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(31,81,50,0.08);
}
.lp-related-n{
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.62rem;color:var(--lp-text-3);
  letter-spacing:0.1em;text-transform:uppercase;
}
.lp-related-h{
  font-size:1.05rem;font-weight:700;
  color:var(--lp-navy);letter-spacing:-0.01em;
}
.lp-related-p{
  font-size:0.85rem;
  color:var(--lp-text-2);
  line-height:1.6;
}
.lp-related-arrow{
  margin-top:auto;
  font-size:0.82rem;
  color:var(--lp-green);
  font-weight:700;
  padding-top:0.75rem;
}

/* ---------- FINAL CTA (green panel) ---------- */
.lp-cta{
  background:var(--lp-green);
  padding:5.5rem 1.5rem 6rem;
  text-align:center;
  position:relative;overflow:hidden;
}
.lp-cta-inner{
  position:relative;z-index:2;
  max-width:720px;margin:0 auto;
}
.lp-cta-h{
  font-size:clamp(2rem,4.5vw,3.75rem);
  font-weight:800;
  letter-spacing:-0.035em;
  line-height:1.05;
  color:#fff;
  margin:0 0 1rem;
}
.lp-cta-em{
  font-family:'Instrument Serif',serif;
  font-style:italic;font-weight:400;
  color:#fff;opacity:0.9;
}
.lp-cta-p{
  font-size:1rem;
  color:rgba(255,255,255,0.85);
  max-width:420px;
  margin:0 auto 2.25rem;
  line-height:1.7;
}
.lp-cta-buttons{
  display:flex;align-items:center;justify-content:center;
  gap:1rem;flex-wrap:wrap;
}
.lp-cta-btn{
  font-size:1rem;font-weight:700;
  color:var(--lp-navy) !important;
  background:#fff !important;
  padding:0.95rem 2rem;border-radius:10px;
  transition:all 0.18s;
}
.lp-cta-btn:hover{
  background:var(--lp-navy) !important;
  color:#fff !important;
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(0,0,0,0.2);
}
.lp-cta-btn-ghost{
  font-size:1rem;font-weight:600;
  color:#fff !important;
  background:transparent;
  border:1px solid rgba(255,255,255,0.3);
  padding:0.95rem 1.75rem;border-radius:10px;
  transition:all 0.18s;
}
.lp-cta-btn-ghost:hover{
  background:rgba(255,255,255,0.1);
  border-color:rgba(255,255,255,0.5);
}
.lp-cta-note{
  font-size:0.78rem;
  color:rgba(255,255,255,0.7);
  margin-top:1.25rem;
}

/* ---------- MOBILE ---------- */
@media (max-width:880px){
  .lp-hero{grid-template-columns:1fr;gap:3rem;padding:2rem 1.25rem 3rem;}
  .lp-stats-inner{grid-template-columns:1fr;gap:3rem;}
  .lp-stats-grid{grid-template-columns:1fr 1fr;}
  .lp-block{grid-template-columns:1fr;gap:2.5rem;}
  .lp-block-flip{direction:ltr;}
  .lp-use-grid{grid-template-columns:1fr;}
  .lp-related-grid{grid-template-columns:1fr;}
  .lp-quote{padding:2rem;}
  .lp-quote-text{font-size:1.2rem;}
}

/* =====================================================================
 * Template gallery — used on use-case landing pages where invitation
 * templates are the hero. 3-up grid of larger template preview cards.
 * Each card has a coloured cover, a small tag, and a caption row.
 * ===================================================================== */

.lp-template-gallery{
  padding:5rem 1.5rem;
  background:#fff;
  border-bottom:1px solid var(--lp-border);
}
.lp-template-gallery-inner{
  max-width:1180px;margin:0 auto;
}
.lp-template-gallery-header{
  text-align:center;
  max-width:760px;margin:0 auto 3rem;
}
.lp-template-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.lp-template{
  background:#fff;
  border:1px solid var(--lp-border);
  border-radius:18px;
  overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform 0.18s,border-color 0.18s,box-shadow 0.18s;
}
.lp-template:hover{
  transform:translateY(-4px);
  border-color:var(--lp-green-2);
  box-shadow:0 10px 28px rgba(31,81,50,0.1);
}
.lp-template-cover{
  aspect-ratio:4/5;
  padding:2rem 1.5rem;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;
  color:#fff;
}
.lp-template-cover-tag{
  display:inline-block;
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.6rem;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;
  background:rgba(255,255,255,0.15);
  color:rgba(255,255,255,0.85);
  padding:0.25rem 0.6rem;border-radius:99px;
  align-self:flex-start;
  backdrop-filter:blur(8px);
}
.lp-template-cover-title{
  font-family:'Instrument Serif',serif;
  font-style:italic;
  font-size:1.85rem;
  line-height:1.05;
  letter-spacing:-0.01em;
  margin-top:auto;
}
.lp-template-cover-meta{
  font-family:'DM Mono',ui-monospace,monospace;
  font-size:0.65rem;font-weight:500;
  letter-spacing:0.08em;text-transform:uppercase;
  color:rgba(255,255,255,0.6);
  margin-top:0.8rem;
}
.lp-template-caption{
  padding:1.1rem 1.5rem;
  border-top:1px solid var(--lp-border);
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;
}
.lp-template-caption-name{
  font-size:0.92rem;font-weight:700;
  color:var(--lp-navy);
  letter-spacing:-0.01em;
}
.lp-template-caption-tone{
  font-size:0.75rem;
  color:var(--lp-text-3);
  font-family:'DM Mono',ui-monospace,monospace;
  letter-spacing:0.05em;
}

/* Cover palette variants */
.lp-template-cover.c-navy{background:#0d1f3c;}
.lp-template-cover.c-navy-dark{background:#0a1828;}
.lp-template-cover.c-green{background:#1f5132;}
.lp-template-cover.c-green-dark{background:#163b24;}
.lp-template-cover.c-green-light{background:#3d8a5a;}
.lp-template-cover.c-charcoal{background:#1a1a1a;}
.lp-template-cover.c-cream{background:#f5ecd9;color:#0d1f3c;}
.lp-template-cover.c-cream .lp-template-cover-tag{background:rgba(13,31,60,0.08);color:#0d1f3c;}
.lp-template-cover.c-cream .lp-template-cover-meta{color:#3d5478;}
.lp-template-cover.c-dusty{background:#c97064;}
.lp-template-cover.c-rose{background:#a8534a;}
.lp-template-cover.c-sand{background:#d4a574;color:#1a1a1a;}
.lp-template-cover.c-sand .lp-template-cover-tag{background:rgba(0,0,0,0.1);color:#1a1a1a;}
.lp-template-cover.c-sand .lp-template-cover-meta{color:rgba(0,0,0,0.5);}
.lp-template-cover.c-sage{background:#7a9b76;}
.lp-template-cover.c-terracotta{background:#a85b3c;}
.lp-template-cover.c-orange{background:#f97316;}
.lp-template-cover.c-amber{background:#d97706;}
.lp-template-cover.c-burgundy{background:#7f1d1d;}

/* ---------- Quick benefits strip ---------- */
.lp-benefits{
  background:var(--lp-off);
  padding:3.5rem 1.5rem;
  border-top:1px solid var(--lp-border);
  border-bottom:1px solid var(--lp-border);
}
.lp-benefits-grid{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.lp-benefit{
  text-align:center;
  padding:0.5rem;
}
.lp-benefit-icon{
  width:48px;height:48px;border-radius:12px;
  background:var(--lp-green-tint);
  color:var(--lp-green);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1rem;
  font-size:1.3rem;
}
.lp-benefit-h{
  font-size:1rem;font-weight:700;
  color:var(--lp-navy);
  margin-bottom:0.4rem;
  letter-spacing:-0.01em;
}
.lp-benefit-p{
  font-size:0.88rem;
  color:var(--lp-text-2);
  line-height:1.6;
  max-width:280px;margin:0 auto;
}

/* ---------- Mobile ---------- */
@media (max-width:880px){
  .lp-template-grid{grid-template-columns:1fr;}
  .lp-benefits-grid{grid-template-columns:1fr;}
}
