
.inv-page{
  font-family:var(--fb);
  background:var(--sand-l);
  color:var(--white);
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
.inv-page,.inv-page *{box-sizing:border-box}
.inv-page img{display:block;max-width:100%}
.inv-page a{color:inherit;text-decoration:none}

.inv-page .btn{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--fh);font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:13px 28px;border-radius:2px;position:relative;overflow:hidden;cursor:none;transition:color .3s;white-space:nowrap
}
.inv-page .btn span{position:relative;z-index:1}
.inv-page .btn::after{content:'';position:absolute;inset:0;background:var(--sand);transform:translateY(102%);transition:transform .5s var(--ex)}
.inv-page .btn:hover::after{transform:translateY(0)}
.inv-page .btn-r{background:var(--rust);color:var(--white)}
.inv-page .btn-r:hover{color:var(--char)}
.inv-page .btn-ol{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.25)}
.inv-page .btn-ol::after{background:var(--rust)}
.inv-page .btn-ol:hover{color:var(--white)}
.inv-page .btn-sand{background:transparent;color:var(--char);border:1.5px solid rgba(26,28,30,.18)}
.inv-page .btn-sand::after{background:var(--rust)}
.inv-page .btn-sand:hover{color:var(--white)}

.inv-page [data-sr]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ex),transform .8s var(--ex)}
.inv-page [data-sr=r]{transform:translateX(44px)}
.inv-page [data-sr=l]{transform:translateX(-44px)}
.inv-page [data-sr=scale]{opacity:0;transform:scale(.94);transition:opacity .8s var(--ex),transform .8s var(--ex)}
.inv-page [data-sr].in{opacity:1;transform:none}
.inv-page [data-d="1"]{transition-delay:.1s}
.inv-page [data-d="2"]{transition-delay:.22s}
.inv-page [data-d="3"]{transition-delay:.34s}
.inv-page [data-d="4"]{transition-delay:.46s}
.inv-page [data-d="5"]{transition-delay:.58s}
.inv-page [data-d="6"]{transition-delay:.7s}


/* ── BTN ── */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--fh);font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:13px 28px;border-radius:2px;position:relative;overflow:hidden;cursor:none;transition:color .3s;white-space:nowrap}
.btn span{position:relative;z-index:1}
.btn::after{content:'';position:absolute;inset:0;background:var(--sand);transform:translateY(102%);transition:transform .5s var(--ex)}
.btn:hover::after{transform:translateY(0)}
.btn-r{background:var(--rust);color:var(--white)}.btn-r:hover{color:var(--char)}
.btn-ol{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.25)}
.btn-ol::after{background:var(--rust)}.btn-ol:hover{color:var(--white)}
.btn-sand{background:transparent;color:var(--char);border:1.5px solid rgba(26,28,30,.18)}
.btn-sand::after{background:var(--rust)}.btn-sand:hover{color:var(--white)}

/* ── SCROLL REVEAL ── */
[data-sr]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ex),transform .8s var(--ex)}
[data-sr=r]{transform:translateX(44px)}
[data-sr=l]{transform:translateX(-44px)}
[data-sr=scale]{opacity:0;transform:scale(.94);transition:opacity .8s var(--ex),transform .8s var(--ex)}
[data-sr].in{opacity:1;transform:none}
[data-d="1"]{transition-delay:.1s}[data-d="2"]{transition-delay:.22s}
[data-d="3"]{transition-delay:.34s}[data-d="4"]{transition-delay:.46s}
[data-d="5"]{transition-delay:.58s}[data-d="6"]{transition-delay:.7s}

/* ════════════════════════════════════
   HERO — Counter animation
   Large animating numbers in bg
════════════════════════════════════ */
.inv-hero{
  position:relative;min-height:100vh;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 var(--pad) clamp(72px,10vh,110px);
  background:var(--green-d);overflow:hidden;
}
/* Animated diagonal lines in bg */
.inv-hero-lines{
  position:absolute;inset:0;pointer-events:none;overflow:hidden;opacity:.04;
}
.inv-hero-lines svg{width:100%;height:100%}
/* Large faint text */
.inv-hero-deco{
  position:absolute;right:-.05em;bottom:-.12em;
  font-family:var(--fh);font-weight:900;
  font-size:clamp(18rem,38vw,56rem);
  letter-spacing:-.1em;line-height:1;
  color:rgba(255,255,255,.03);pointer-events:none;user-select:none;
}
.inv-eyebrow{
  position:relative;z-index:2;
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--fh);font-size:.6rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);
  margin-bottom:clamp(18px,3vh,28px);
}
.inv-eyebrow::before{content:'';display:block;width:28px;height:1px;background:var(--gold)}
.inv-hero-h1{
  position:relative;z-index:2;
  font-family:var(--fh);font-weight:900;
  font-size:clamp(3rem,7.5vw,9.5rem);
  letter-spacing:-.055em;line-height:.92;
  color:var(--white);padding-bottom:.15em;
  margin-bottom:clamp(24px,4vh,44px);
}
.inv-hero-h1 em{font-style:italic;color:var(--gold)}
/* Line reveal — different from other pages: each line slides from left with stagger */
.inv-hl{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.inv-hw{display:inline-block;transform:translateX(-60px);opacity:0;transition:transform .9s var(--ex),opacity .9s var(--ex)}
.inv-hw.in{transform:translateX(0);opacity:1}

.inv-hero-foot{
  position:relative;z-index:2;
  display:flex;align-items:flex-end;justify-content:space-between;
  flex-wrap:wrap;gap:24px;
}
.inv-hero-sub{
  font-family:var(--fb);font-style:italic;
  font-size:clamp(.9rem,1.3vw,1.08rem);line-height:1.75;
  color:rgba(255,255,255,.58);max-width:48ch;
}
.inv-hero-acts{display:flex;gap:12px;flex-wrap:wrap;padding-bottom:2px}

/* ════════════════════════════════════
   PRICING PHILOSOPHY — sand bg
   Pull-quote style with large type
════════════════════════════════════ */
.philosophy{
  background:var(--sand-l);
  padding:clamp(88px,12vw,160px) var(--pad) clamp(100px,14vw,180px);
  position:relative;
}
.phil-layout{
  display:grid;grid-template-columns:1fr 1.3fr;
  gap:clamp(48px,8vw,120px);align-items:center;
}
.phil-left{}
.phil-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--fh);font-size:.58rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--rust);margin-bottom:14px;
}
.phil-eyebrow::before{content:'';display:block;width:24px;height:1.5px;background:var(--rust)}
.phil-hed{
  font-family:var(--fh);font-weight:900;
  font-size:clamp(2rem,4vw,4.5rem);
  letter-spacing:-.045em;line-height:.95;color:var(--char);
  margin-bottom:22px;
}
.phil-hed em{font-style:italic;color:var(--rust)}
.phil-body{
  font-family:var(--fb);font-size:clamp(.88rem,1.1vw,1rem);
  line-height:1.82;color:var(--stone);
}
.phil-body p{margin-bottom:14px}
.phil-body p:last-child{margin-bottom:0}
/* Right: three principles */
.phil-principles{display:flex;flex-direction:column;gap:clamp(16px,2vw,22px)}
.phil-principle{
  padding:clamp(20px,2.5vw,28px);
  background:var(--white);border-radius:8px;
  box-shadow:0 2px 20px rgba(26,28,30,.05);
  display:flex;gap:16px;align-items:flex-start;
  /* Count-up animation */
  opacity:0;transform:translateX(32px);
  transition:opacity .7s var(--ex),transform .7s var(--ex);
}
.phil-principle.in{opacity:1;transform:translateX(0)}
.phil-n{
  font-family:var(--fh);font-weight:900;
  font-size:clamp(1.8rem,3vw,3rem);
  letter-spacing:-.06em;line-height:1;
  color:rgba(161,74,50,.15);flex-shrink:0;width:2ch;
}
.phil-text{}
.phil-title{
  font-family:var(--fh);font-weight:800;
  font-size:clamp(.9rem,1.2vw,1.1rem);
  letter-spacing:-.02em;color:var(--char);margin-bottom:5px;
}
.phil-desc{
  font-family:var(--fb);font-size:clamp(.8rem,.95vw,.9rem);
  line-height:1.72;color:var(--stone);
}

/* ════════════════════════════════════
   STARTING POINTS — dark, horizontal scroll cards
   Cards slide in horizontally on scroll
════════════════════════════════════ */
.packages{
  background:var(--char);
  padding:clamp(88px,12vw,160px) var(--pad) clamp(100px,14vw,160px);
  position:relative;overflow:hidden;
  margin-top:-clamp(40px,5vw,64px);
  border-radius:clamp(16px,2.5vw,28px) clamp(16px,2.5vw,28px) 0 0;
  box-shadow:0 -20px 60px rgba(0,0,0,.28);
  z-index:2;
}
.pkg-top{
  display:flex;align-items:flex-end;justify-content:space-between;
  flex-wrap:wrap;gap:20px;
  margin-bottom:clamp(48px,6vw,72px);
  position:relative;z-index:1;
}
.pkg-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--fh);font-size:.58rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin-bottom:12px;
}
.pkg-eyebrow::before{content:'';display:block;width:24px;height:1px;background:var(--gold)}
.pkg-hed{
  font-family:var(--fh);font-weight:900;
  font-size:clamp(2rem,4vw,4.5rem);
  letter-spacing:-.045em;line-height:.95;color:var(--white);
}
.pkg-hed em{font-style:italic;color:var(--gold)}
.pkg-note{
  font-family:var(--fb);font-style:italic;
  font-size:clamp(.82rem,1vw,.92rem);color:rgba(255,255,255,.35);
  max-width:34ch;line-height:1.65;text-align:right;
}
/* Package cards — 3 col grid */
.pkg-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(14px,2vw,22px);
  position:relative;z-index:1;
}
.pkg-card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;padding:clamp(28px,3.5vw,44px);
  position:relative;overflow:hidden;
  cursor:none;
  /* Slide in from bottom with stagger */
  opacity:0;transform:translateY(40px);
  transition:opacity .7s var(--ex),transform .7s var(--ex),background .3s,border-color .3s;
}
.pkg-card.in{opacity:1;transform:translateY(0)}
.pkg-card:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}
/* Popular card */
.pkg-card.featured{
  border-color:rgba(201,164,108,.3);
  background:rgba(201,164,108,.06);
}
.pkg-card.featured:hover{background:rgba(201,164,108,.1)}
.pkg-badge{
  position:absolute;top:16px;right:16px;
  font-family:var(--fh);font-size:.46rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  background:var(--gold);color:var(--char);
  padding:4px 10px;border-radius:2px;
}
.pkg-label{
  font-family:var(--fh);font-size:.52rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);display:block;margin-bottom:10px;
}
.pkg-title{
  font-family:var(--fh);font-weight:900;
  font-size:clamp(1.2rem,1.8vw,1.6rem);
  letter-spacing:-.03em;color:var(--white);
  margin-bottom:6px;
}
.pkg-range{
  font-family:var(--fh);font-weight:900;
  font-size:clamp(1.8rem,3vw,3.2rem);
  letter-spacing:-.06em;color:var(--white);
  margin-bottom:4px;line-height:1;
}
.pkg-range span{font-size:.45em;font-weight:600;vertical-align:super;letter-spacing:0;color:rgba(255,255,255,.5)}
.pkg-per{
  font-family:var(--fb);font-style:italic;
  font-size:.78rem;color:rgba(255,255,255,.35);
  margin-bottom:22px;display:block;
}
.pkg-divider{height:1px;background:rgba(255,255,255,.08);margin-bottom:20px}
.pkg-desc{
  font-family:var(--fb);font-size:clamp(.8rem,.95vw,.9rem);
  line-height:1.78;color:rgba(255,255,255,.55);
  margin-bottom:20px;
}
.pkg-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.pkg-list li{
  font-family:var(--fh);font-size:.54rem;font-weight:600;
  letter-spacing:.06em;color:rgba(255,255,255,.55);
  display:flex;align-items:flex-start;gap:8px;
}
.pkg-list li::before{
  content:'';display:block;width:14px;height:1px;
  background:var(--gold);opacity:.5;flex-shrink:0;margin-top:7px;
}
.pkg-cta{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--fh);font-size:.56rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);transition:gap .3s var(--ex);cursor:none;
}
.pkg-card:hover .pkg-cta{gap:14px}

/* ════════════════════════════════════
   WHAT AFFECTS PRICING — green, scroll-triggered
   Each factor lights up as user scrolls
════════════════════════════════════ */
.factors{
  background:var(--green);
  padding:clamp(88px,12vw,160px) var(--pad);
  position:relative;
}
/* Top: char → green */
.factors::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:clamp(80px,11vw,130px);
  background:linear-gradient(180deg,var(--char) 0%,var(--green) 100%);
  pointer-events:none;
}
.fac-top{
  max-width:680px;margin-bottom:clamp(56px,8vw,96px);
  position:relative;z-index:1;
}
.fac-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--fh);font-size:.58rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin-bottom:12px;
}
.fac-eyebrow::before{content:'';display:block;width:24px;height:1px;background:var(--gold)}
.fac-hed{
  font-family:var(--fh);font-weight:900;
  font-size:clamp(2rem,4vw,4.5rem);
  letter-spacing:-.045em;line-height:.95;color:var(--white);
}
.fac-hed em{font-style:italic;color:var(--gold)}
/* Factor grid — 2x3 */
.fac-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(2px,.3vw,3px);
  position:relative;z-index:1;
}
.fac-item{
  padding:clamp(28px,3.5vw,44px);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  position:relative;overflow:hidden;
  opacity:.2;
  transition:opacity .6s var(--ex),background .4s;
}
.fac-item.lit{opacity:1;background:rgba(255,255,255,.07)}
.fac-item::before{
  content:'';position:absolute;top:0;left:0;width:3px;height:0;
  background:var(--gold);transition:height .5s var(--ex);
}
.fac-item.lit::before{height:100%}
.fac-icon{
  font-family:var(--fh);font-weight:900;
  font-size:clamp(2rem,3.5vw,4rem);letter-spacing:-.06em;
  color:rgba(255,255,255,.08);display:block;margin-bottom:12px;line-height:1;
}
.fac-title{
  font-family:var(--fh);font-weight:800;
  font-size:clamp(.9rem,1.3vw,1.18rem);
  letter-spacing:-.02em;color:var(--white);margin-bottom:8px;
}
.fac-body{
  font-family:var(--fb);font-size:clamp(.8rem,.95vw,.9rem);
  line-height:1.78;color:rgba(255,255,255,.55);
}

/* ════════════════════════════════════
   WHAT YOU GET — sand, icon checklist
   Cards reveal with count-up numbers
════════════════════════════════════ */
.deliverables{
  background:var(--sand-l);
  padding:clamp(88px,12vw,160px) var(--pad) clamp(88px,12vw,160px);
  position:relative;
  margin-top:-clamp(40px,5vw,64px);
  box-shadow:0 -20px 60px rgba(0,0,0,.18);
  z-index:4;
}
.del-top{
  display:flex;align-items:flex-end;justify-content:space-between;
  flex-wrap:wrap;gap:20px;margin-bottom:clamp(56px,7vw,88px);
  position:relative;z-index:1;
}
.del-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--fh);font-size:.58rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--rust);margin-bottom:12px;
}
.del-eyebrow::before{content:'';display:block;width:24px;height:1.5px;background:var(--rust)}
.del-hed{
  font-family:var(--fh);font-weight:900;
  font-size:clamp(2rem,4vw,4.5rem);
  letter-spacing:-.045em;line-height:.95;color:var(--char);
}
.del-hed em{font-style:italic;color:var(--rust)}
.del-note{
  font-family:var(--fb);font-style:italic;
  font-size:clamp(.82rem,1vw,.92rem);color:var(--stone);
  max-width:36ch;line-height:1.65;text-align:right;
}
/* Deliverable grid — 4 col top row, 3 col bottom */
.del-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(12px,1.6vw,18px);
  position:relative;z-index:1;
}
.del-card{
  background:var(--white);border-radius:10px;
  padding:clamp(22px,2.8vw,34px);
  box-shadow:0 2px 20px rgba(26,28,30,.05);
  position:relative;
  opacity:0;transform:translateY(20px);
  transition:opacity .65s var(--ex),transform .65s var(--ex),box-shadow .35s;
}
.del-card.in{opacity:1;transform:translateY(0)}
.del-card:hover{box-shadow:0 8px 36px rgba(161,74,50,.1);transform:translateY(-3px)}
.del-card.in:hover{transform:translateY(-3px)}
.del-card-icon{
  width:36px;height:36px;border-radius:50%;
  background:rgba(161,74,50,.1);
  display:flex;align-items:center;justify-content:center;
  color:var(--rust);margin-bottom:14px;
}
.del-card-title{
  font-family:var(--fh);font-weight:800;
  font-size:clamp(.88rem,1.1vw,1.05rem);
  letter-spacing:-.02em;color:var(--char);margin-bottom:6px;
}
.del-card-body{
  font-family:var(--fb);font-size:clamp(.78rem,.9vw,.86rem);
  line-height:1.72;color:var(--stone);
}

/* ════════════════════════════════════
   CTA
════════════════════════════════════ */
.cta{
  position:relative;min-height:90vh;
  display:flex;flex-direction:column;justify-content:flex-end;
  overflow:hidden;
}
.cta-photo{position:absolute;inset:0;z-index:0}
.cta-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:brightness(.38)}
.cta-photo-ov{position:absolute;inset:0;background:linear-gradient(160deg,rgba(26,28,30,.2) 0%,transparent 100%)}
.cta-top-fade{position:absolute;top:-200px;left:0;right:0;height:clamp(200px,28vw,360px);z-index:1;background:linear-gradient(180deg,var(--sand-l) 0%,transparent 100%);pointer-events:none}
.cta-content{position:relative;z-index:2;padding:0 var(--pad) clamp(88px,12vw,160px);max-width:1300px;margin:0 auto;width:100%}
.cta-eye{display:inline-flex;align-items:center;gap:10px;font-family:var(--fh);font-size:.58rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.cta-eye::before{content:'';display:block;width:20px;height:1px;background:var(--gold)}
.cta-hed{font-family:var(--fh);font-weight:900;font-size:clamp(2.8rem,7vw,9rem);letter-spacing:-.06em;line-height:.88;color:var(--white);margin-bottom:36px}
.cta-hed em{font-style:italic;color:var(--gold)}
.cta-sub{font-family:var(--fb);font-size:clamp(.9rem,1.2vw,1.06rem);line-height:1.8;color:rgba(255,255,255,.85);max-width:46ch;margin-bottom:28px}
.cta-acts{display:flex;gap:12px;flex-wrap:wrap}

/* ── RESPONSIVE ── */
@media(max-width:1100px){.pkg-grid{grid-template-columns:1fr 1fr}.del-grid{grid-template-columns:1fr 1fr}}
@media(max-width:1000px){.phil-layout{grid-template-columns:1fr}.fac-grid{grid-template-columns:1fr}}
@media(max-width:768px){
  .pkg-grid{grid-template-columns:1fr}.del-grid{grid-template-columns:1fr}
  .fac-grid{grid-template-columns:1fr}
}
@media(max-width:500px){}
