/* ─────────────────────────────────────────
   OwnersPath, Gen A Base Stylesheet
   Shared across all Gen A pages
   ───────────────────────────────────────── */

/* PALETTE */
:root {
  --primary:   #212121;
  --secondary: #8FBA8F;
  --highlight: #3CE000;
  --soft:      #F7F5F0;
  --divider:   #E0E0E0;
  --text:      #101010;
  --white:     #ffffff;
  --nav-bg:    rgba(255,255,255,0.92);
  --radius:    12px;
  --transition: 0.28s cubic-bezier(0.4,0,0.2,1);
  --font-display: 'Google Sans','Google Sans Flex',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}

/* RESET */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Google Sans','Google Sans Flex',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,sans-serif;
  color:var(--text);
  background:var(--white);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* FOCUS */
:focus{outline:none}
:focus-visible{
  outline:2px solid var(--highlight);
  outline-offset:3px;
  border-radius:4px;
}

/* SCROLL ANIMATIONS */
.reveal{
  opacity:0;
  transform:translateY(36px);
  transition:opacity 0.65s cubic-bezier(0.4,0,0.2,1),transform 0.65s cubic-bezier(0.4,0,0.2,1);

}
.reveal.visible{opacity:1;transform:none;will-change:auto}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity 0.65s ease,transform 0.65s ease}
.reveal-left.visible{opacity:1;transform:none;will-change:auto}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity 0.65s ease,transform 0.65s ease}
.reveal-right.visible{opacity:1;transform:none;will-change:auto}
.reveal-scale{opacity:0;transform:translateY(20px) scale(0.96);transition:opacity 0.55s cubic-bezier(0.4,0,0.2,1),transform 0.55s cubic-bezier(0.4,0,0.2,1)}
.reveal-scale.visible{opacity:1;transform:none;will-change:auto}
.delay-1{transition-delay:0.1s}
.delay-2{transition-delay:0.2s}
.delay-3{transition-delay:0.3s}
.delay-4{transition-delay:0.4s}
@media(prefers-reduced-motion:reduce){
  .reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1;transform:none;transition:none;will-change:auto}
  html{scroll-behavior:auto}
}

/* ─── index-only: FAQ + video trigger + modal (renamed idx-* to avoid collision with other pages) ─── */
.idx-faq-body-wrap{max-width:760px;margin:0 auto}
.idx-faq-item{
  border-bottom:1px solid var(--divider);
  padding:0;
}
.idx-faq-item summary{
  font-size:16px;
  font-weight:600;
  color:var(--primary);
  padding:20px 0;
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  transition:color var(--transition);
}
.idx-faq-item summary::-webkit-details-marker{display:none}
.idx-faq-toggle{flex-shrink:0;transition:transform var(--transition);color:var(--secondary)}
.idx-faq-toggle svg{stroke:var(--secondary);display:block}
.idx-faq-item[open] .idx-faq-toggle{transform:rotate(180deg)}

.idx-faq-item[open] .idx-faq-toggle svg{stroke:var(--highlight)}
.idx-faq-item summary::after{
  content:'';
  display:none;
}

.idx-faq-item .idx-faq-body{
  font-size:15px;
  color:#555;
  line-height:1.7;
  padding-bottom:20px;
}
.idx-faq-item .idx-faq-body a{color:var(--highlight);font-weight:600}

.idx-video-trigger{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  cursor:pointer;
  background:#111;
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 8px 40px rgba(0,0,0,0.25);
  width:100%;
  height:100px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:0 24px;
  transition:background var(--transition);
}
.idx-video-trigger:hover{background:#1a1a1a}
.idx-play-ring{
  width:52px;height:52px;flex-shrink:0;border-radius:50%;
  border:1.5px solid rgba(255,255,255,0.2);
  display:flex;align-items:center;justify-content:center;
  transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1),border-color var(--transition);
}
.idx-play-ring-inner{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,0.1);
  display:flex;align-items:center;justify-content:center;
  transition:background var(--transition);
}
.idx-play-ring-inner svg{
  width:13px;height:13px;
  fill:rgba(255,255,255,0.9);
  margin-left:3px;
  transition:fill var(--transition);
}
.idx-video-trigger:hover .idx-play-ring{transform:scale(1.08);border-color:rgba(60,224,0,0.6)}
.idx-video-trigger:hover .idx-play-ring-inner{background:var(--highlight)}
.idx-video-trigger:hover .idx-play-ring-inner svg{fill:var(--primary)}
.idx-video-trigger-text{
  display:flex;flex-direction:column;gap:2px;
  min-width:0;
  text-align:center;
}
.idx-video-trigger-label{
  font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  color:rgba(255,255,255,0.8);
  margin:0;line-height:1.3;
}
.idx-video-trigger-cue{
  font-size:12px;font-weight:400;
  color:rgba(255,255,255,0.4);
  margin:0;line-height:1.3;
}

/* ─── VIDEO MODAL ─── */
.idx-modal-bg{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.78);
  z-index:2000;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(4px);
}
.idx-modal-bg.open{display:flex}
.idx-modal-box{
  background:#111;
  border-radius:20px;
  padding:24px;
  max-width:900px;
  width:92%;
  position:relative;
}
.idx-modal-title{
  font-size:14px;
  font-weight:600;
  color:#aaa;
  margin-bottom:14px;
  padding-right:40px;
}
.idx-modal-close{
  position:absolute;
  top:16px;right:18px;
  background:rgba(255,255,255,0.1);
  border:none;
  color:var(--white);
  cursor:pointer;
  border-radius:50%;
  width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  transition:background var(--transition);
  padding:0;
}
.idx-modal-close:hover{background:rgba(255,255,255,0.2)}
.idx-modal-close svg{stroke:var(--white)}
.idx-modal-box video{border-radius:12px;width:100%;display:block}

/* ─── restored shared utilities/modifiers (were dropped site-wide) ─── */
.btn-highlight.btn-highlight--lg{font-size:16px;padding:16px 40px}
.btn-icon-inline{display:inline;vertical-align:middle;margin-left:4px}
.btn-secondary.btn-secondary--on-dark{color:#aaa;border-color:rgba(255,255,255,0.2)}
/* ─── LUCIDE CHECK ICON (pricing) ─── */
.check-icon{display:inline-flex;
  align-items:center;
  flex-shrink:0;
  margin-top:1px;
  color:var(--highlight);}
.check-icon svg{stroke:var(--highlight)}
.demo-inner{position:relative;z-index:1}
.eyebrow.eyebrow--on-dark{color:var(--secondary)}
.price-sub-label.price-sub-label--savings{color:#2aa800}
/* ─── SECTION PRIMITIVES (base fallback) ───
   Structural defaults for the section vocabulary. Per-page CSS loads after this
   file and overrides where a page sets its own values; these exist so a page
   that omits them (e.g. dropped during inline-style externalization) still gets
   a contained, padded layout instead of full-bleed. Single-class selectors, so
   any per-page rule wins. Verified no-op for all current pages. */
.section{padding:96px 24px}
.section-inner{max-width:1200px;margin:0 auto}
.section-alt{background:var(--soft)}
.section-header{margin-bottom:56px}
/* ─── UTILITY / MODIFIER CLASSES ─── */
.section-cta{text-align:center;margin-top:48px}
.section-cta-sm{text-align:center;margin-top:40px}
.section-header.section-header--centered{text-align:center}
.section-header.section-header--centered .section-subtitle{margin:0 auto}
.section-subtitle.section-subtitle--on-dark{color:#aaa}
.section-title.section-title--on-dark{color:var(--white)}
.stat-chip-unit{font-size:14px}

/* SKIP LINKS, both .skip and .skip-link for cross-page compatibility */
.skip,.skip-link{position:absolute;left:-999px;top:0;background:var(--highlight);color:#0a0a0b;padding:10px 18px;font-weight:700;z-index:2000;border-radius:0 0 8px 0}
.skip:focus,.skip-link:focus{left:0}
