/* =========================================================
   XCELERATE TRAVEL — Advisor Pricing (subpage)
   Off-white / gold / black — matches the rest of the site.
   Everything scoped under .pricing-page.
   ========================================================= */

.pp-notrax{ text-transform:none; }

.pricing-page{
  --pp-cream-1:  #f8f2e6;
  --pp-cream-2:  #efe4cf;
  --pp-mid:      #f7f1e5;
  --pp-ink:      #1d1810;
  --pp-ink-soft: #4a3d29;
  --pp-muted:    #7f7259;
  --pp-gold:     #e4a917;
  --pp-gold-2:   #f1b91e;
  --pp-gold-deep:#b07d0c;
  --pp-line:     rgba(33,26,16,.15);
  --pp-line-soft:rgba(33,26,16,.10);
  --pp-card:     rgba(255,255,255,.62);
  --pp-black:    #14120d;
  --pp-black-2:  #0b0a07;

  position:relative;
  background:linear-gradient(180deg, var(--pp-cream-1) 0%, var(--pp-cream-2) 100%);
  color:var(--pp-ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
}
.pricing-page *{ box-sizing:border-box; }
.pricing-page img{ display:block; max-width:100%; }
.pricing-page :focus-visible{ outline:2px solid var(--pp-gold); outline-offset:3px; }

.pp-wrap{ max-width:1300px; margin:0 auto; padding:0 40px 74px; }

/* =========================================================
   HERO — full-bleed photo, cream scrim over the copy side
   ========================================================= */
.pp-hero{
  position:relative; overflow:hidden;
  min-height:660px; display:flex; align-items:center;
}
.pp-hero__media{ position:absolute; inset:0; z-index:0; }
.pp-hero__media img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:52% 46%;
}
.pp-hero__scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(248,242,230,0) 55%, var(--pp-cream-1) 99%),
    linear-gradient(95deg,
      var(--pp-cream-1) 0%,
      var(--pp-cream-1) 36%,
      rgba(248,242,230,.9) 44%,
      rgba(248,242,230,.5) 52%,
      rgba(248,242,230,.18) 60%,
      rgba(248,242,230,.02) 68%,
      rgba(248,242,230,0) 74%);
}

.pp-hero__inner{
  position:relative; z-index:3; width:100%;
  max-width:1300px; margin:0 auto; padding:56px 40px;
}

.pp-eyebrow{
  margin:0 0 18px; color:var(--pp-gold-deep); font-weight:700; font-size:.82rem;
  letter-spacing:.15em; text-transform:uppercase;
}
.pp-hero__title{ margin:0; font-family:var(--serif); font-weight:700; line-height:1.08; }
.pp-hero__l1{ display:block; font-size:3.4rem; color:var(--pp-ink); }
.pp-hero__l2{ display:block; font-size:3.4rem; color:var(--pp-gold); }
.pp-hero__body{
  margin:22px 0 0; font-size:1.02rem; line-height:1.62; color:var(--pp-ink-soft);
}

/* price block */
.pp-price{
  margin-top:34px; display:inline-flex; align-items:stretch;
  background:linear-gradient(150deg, #17150f 0%, var(--pp-black-2) 100%);
  border:1.5px solid rgba(228,169,23,.85); border-radius:14px;
  box-shadow:0 20px 44px rgba(20,14,4,.34);
  padding:26px 40px;
}
.pp-price__block{ display:flex; flex-direction:column; align-items:flex-start; padding:0 34px; justify-content:center; }
.pp-price__block:first-child{ padding-left:8px; }
.pp-price__row{ display:flex; align-items:baseline; gap:11px; }
.pp-price__amt{ font-family:var(--serif); font-weight:700; font-size:3.4rem; color:#fff; line-height:1; }
.pp-price__label{ font-size:.92rem; font-weight:700; letter-spacing:.06em; color:var(--pp-gold-2); }
.pp-price__note{ margin-top:8px; font-size:.86rem; color:rgba(255,255,255,.66); }
.pp-price__div{ width:1px; align-self:stretch; background:rgba(228,169,23,.45); flex:none; }

/* circular badge */
.pp-hero__badge{
  position:absolute; z-index:4; right:25%; top:20%;
  width:204px; height:204px; border-radius:50%;
  background:radial-gradient(circle at 50% 42%, #1b1811 0%, var(--pp-black-2) 76%);
  border:2px solid var(--pp-gold);
  box-shadow:0 18px 40px rgba(20,14,4,.42);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  text-align:center;
}
.pp-hero__badge-star{ color:var(--pp-gold); line-height:0; }
.pp-hero__badge p{ margin:0; color:#fff; font-size:1rem; font-weight:500; line-height:1.5; }
.pp-hero__badge-arc{ width:56px; height:20px; color:var(--pp-gold); }

/* =========================================================
   HIGHLIGHTS STRIP
   ========================================================= */
.pp-highlights{
  margin-top:-26px; position:relative; z-index:5;
  display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid var(--pp-line-soft); border-radius:18px;
  background:rgba(255,255,255,.72);
  box-shadow:0 16px 36px rgba(26,19,8,.10);
  padding:32px 12px;
}
.pp-highlight{ display:flex; align-items:flex-start; gap:18px; padding:0 30px; position:relative; }
.pp-highlight + .pp-highlight::before{
  content:""; position:absolute; left:0; top:2px; bottom:2px; width:1px; background:var(--pp-line-soft);
}
.pp-highlight__ic{
  flex:none; width:66px; height:66px; border-radius:50%;
  display:grid; place-items:center; position:relative;
  transition:transform .25s ease, box-shadow .25s ease;
}
/* hairline inner ring adds depth instead of a flat disc */
.pp-highlight__ic::after{
  content:""; position:absolute; inset:5px; border-radius:50%; pointer-events:none;
}
.pp-highlight__ic svg{ position:relative; z-index:1; }

.pp-highlight__ic--dark{
  background:radial-gradient(circle at 50% 30%, #262218 0%, #100e09 78%);
  color:var(--pp-gold-2);
  box-shadow:0 10px 22px rgba(20,14,4,.30), inset 0 0 0 1px rgba(228,169,23,.42);
}
.pp-highlight__ic--dark::after{ border:1px solid rgba(228,169,23,.20); }

.pp-highlight__ic--gold{
  background:linear-gradient(145deg, #f9cb45 0%, var(--pp-gold) 48%, #c68c0c 100%);
  color:#1a1509;
  box-shadow:0 10px 22px rgba(191,136,14,.34), inset 0 1px 0 rgba(255,255,255,.5);
}
.pp-highlight__ic--gold::after{ border:1px solid rgba(255,255,255,.34); }

.pp-highlight__ic--outline{
  background:radial-gradient(circle at 50% 32%, rgba(228,169,23,.17) 0%, rgba(228,169,23,.02) 72%);
  color:var(--pp-gold-deep);
  box-shadow:inset 0 0 0 1.5px rgba(228,169,23,.78), 0 10px 20px rgba(176,125,12,.15);
}
.pp-highlight__ic--outline::after{ border:1px solid rgba(228,169,23,.26); }

.pp-highlight:hover .pp-highlight__ic{ transform:translateY(-2px); }
.pp-highlight__text h3{ margin:4px 0 7px; font-size:1.04rem; font-weight:700; color:var(--pp-ink); }
.pp-highlight__text p{ margin:0; font-size:.9rem; line-height:1.5; color:var(--pp-muted); }

/* =========================================================
   PANELS (ways to earn / commission levels)
   ========================================================= */
.pp-earn-row{
  margin-top:34px; display:grid; grid-template-columns:1fr 1.28fr; gap:26px; align-items:stretch;
}
.pp-panel{
  border:1px solid var(--pp-line-soft); border-radius:18px;
  background:rgba(255,255,255,.62);
  box-shadow:0 16px 36px rgba(26,19,8,.09);
  padding:34px 32px; display:flex; flex-direction:column;
}
.pp-panel__h{
  margin:0; font-family:var(--serif); font-weight:600; font-size:1.7rem;
  color:var(--pp-ink); letter-spacing:.03em; text-transform:uppercase;
}
.pp-panel__sub{ margin:12px 0 0; font-size:.96rem; line-height:1.5; color:var(--pp-muted); }

/* --- 3 ways to earn --- */
.pp-ways__list{
  margin-top:24px; border:1px solid var(--pp-line-soft); border-radius:14px;
  background:rgba(255,255,255,.5); padding:6px 22px;
}
.pp-ways__item{ display:flex; align-items:flex-start; gap:16px; padding:20px 0; border-bottom:1px solid var(--pp-line-soft); }
.pp-ways__item:last-child{ border-bottom:none; }
.pp-ways__ic{
  flex:none; width:46px; height:46px; border-radius:50%; display:grid; place-items:center;
  color:var(--pp-gold); background:var(--pp-black);
}
.pp-ways__item h3{
  margin:0 0 6px; font-size:.86rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.04em; color:var(--pp-ink);
}
.pp-ways__item p{ margin:0; font-size:.86rem; line-height:1.5; color:var(--pp-muted); }

.pp-ways__cta{
  margin-top:22px; display:flex; align-items:center; gap:16px;
  background:var(--pp-black); border-radius:12px; padding:18px 22px;
}
.pp-ways__cta-ic{
  flex:none; width:44px; height:44px; border-radius:50%; display:grid; place-items:center;
  color:var(--pp-gold); border:1.5px solid rgba(228,169,23,.7);
}
.pp-ways__cta-label{
  margin:0; font-size:.82rem; font-weight:700; letter-spacing:.03em;
  text-transform:uppercase; color:var(--pp-gold-2);
}
.pp-ways__cta-body{ margin:5px 0 0; font-size:.88rem; line-height:1.4; color:rgba(255,255,255,.86); }

/* --- "Your Journey" banner (fills the left panel) --- */
.pp-journey{
  position:relative; margin-top:20px; flex:1 1 auto; min-height:176px;
  border-radius:13px; overflow:hidden;
  border:1px solid var(--pp-line-soft);
}
.pp-journey img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:50% 62%;
}
.pp-journey::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(255,252,244,.34) 0%, rgba(255,252,244,.52) 100%);
}
.pp-journey__text{
  position:relative; z-index:2; height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  padding:18px 20px; text-align:center;
}
.pp-journey__script{
  margin:0; font-family:var(--script); font-weight:700; color:#2a2214;
  line-height:1.06; text-shadow:0 1px 10px rgba(255,252,244,.85);
}
.pp-journey__l1{ display:block; font-size:2rem; }
.pp-journey__l2{ display:block; font-size:2rem; margin-left:34px; }
.pp-journey__sub{
  margin:10px 0 0; font-size:.66rem; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; color:#4a3d29;
  text-shadow:0 1px 8px rgba(255,252,244,.9);
}

/* --- commission table --- */
.pp-commission__table{
  margin-top:26px; width:100%; border-collapse:collapse;
  border:1px solid var(--pp-line); table-layout:fixed;
}
.pp-commission__table thead th{
  background:var(--pp-black); color:#f3ece0;
  font-size:.78rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  padding:15px 8px; text-align:center; border-right:1px solid rgba(255,255,255,.10);
}
.pp-commission__table thead th:last-child{ border-right:none; }
.pp-commission__blank{ background:var(--pp-black); width:31%; }
.pp-commission__table thead th.pp-commission__elite{ background:var(--pp-gold); color:var(--pp-black); }

.pp-commission__table tbody th{
  text-align:left; padding:32px 18px; vertical-align:middle;
  border-top:1px solid var(--pp-line); border-right:1px solid var(--pp-line);
  background:rgba(255,255,255,.34);
}
.pp-commission__rowlabel{
  display:block; font-size:.84rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.03em; color:var(--pp-ink);
}
.pp-commission__rowsub{ display:block; margin-top:5px; font-size:.82rem; font-weight:400; line-height:1.4; color:var(--pp-muted); }
.pp-commission__table td{
  text-align:center; padding:32px 8px; vertical-align:middle;
  border-top:1px solid var(--pp-line); border-right:1px solid var(--pp-line);
  font-family:var(--serif); font-weight:600; font-size:2.2rem; color:var(--pp-ink);
}
.pp-commission__table td:last-child{ border-right:none; }
.pp-commission__table td.pp-commission__elite{ background:rgba(228,169,23,.13); }

/* --- "More Than a Paycheck" lifestyle block (fills the right panel) --- */
.pp-lifestyle{
  margin-top:22px; flex:1 1 auto;
  display:grid; grid-template-columns:1fr 190px;
  background:linear-gradient(160deg, #efe5cd 0%, #e7dabb 100%);
  border:1px solid rgba(184,127,14,.22); border-radius:13px;
  overflow:hidden; min-height:176px;
}
.pp-lifestyle__body{ padding:18px 20px 16px; display:flex; flex-direction:column; }
.pp-lifestyle__h{
  margin:0 0 14px; font-family:var(--serif); font-weight:600; font-size:1.12rem;
  text-transform:uppercase; letter-spacing:.02em; line-height:1.25; color:var(--pp-ink);
}
.pp-lifestyle__h span{ display:block; color:var(--pp-gold-deep); }
.pp-lifestyle__grid{
  flex:1 1 auto; display:grid; grid-template-columns:repeat(4,1fr);
}
.pp-lifestyle__item{ text-align:center; padding:0 10px; position:relative; }
.pp-lifestyle__item + .pp-lifestyle__item::before{
  content:""; position:absolute; left:0; top:2px; bottom:2px; width:1px;
  background:rgba(33,26,16,.13);
}
.pp-lifestyle__ic{
  width:38px; height:38px; margin:0 auto; border-radius:50%; display:grid; place-items:center;
  color:var(--pp-gold-deep); border:1.5px solid rgba(228,169,23,.7);
  background:rgba(255,255,255,.34);
}
.pp-lifestyle__item h4{
  margin:8px 0 5px; font-size:.62rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.05em; color:var(--pp-ink); line-height:1.3;
}
.pp-lifestyle__item p{ margin:0; font-size:.62rem; line-height:1.4; color:var(--pp-ink-soft); }
.pp-lifestyle__photo{ position:relative; overflow:hidden; }
.pp-lifestyle__photo img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:58% 50%;
}

.pp-commission__note{
  margin-top:22px; padding-top:20px; display:flex; align-items:flex-start; gap:12px;
  position:relative;
}
.pp-commission__note::before{
  content:""; position:absolute; top:0; left:0; right:0; height:1px; background:var(--pp-line-soft);
}
.pp-commission__note-ic{ flex:none; color:var(--pp-gold); margin-top:1px; line-height:0; }
.pp-commission__note p{ margin:0; font-size:.9rem; line-height:1.5; color:var(--pp-muted); }

/* =========================================================
   WHAT'S INCLUDED  (title sits on the card's top border)
   ========================================================= */
.pp-included{ position:relative; margin-top:44px; padding-top:22px; }
.pp-included__title{
  position:absolute; top:0; left:50%; transform:translateX(-50%);
  margin:0; z-index:3; padding:0 22px; background:var(--pp-mid);
  font-family:var(--serif); font-weight:600; font-size:1.9rem;
  color:var(--pp-ink); white-space:nowrap; line-height:1.3;
}
.pp-included__card{
  border:1px solid var(--pp-line-soft); border-radius:18px;
  background:rgba(255,255,255,.55);
  box-shadow:0 16px 36px rgba(26,19,8,.09);
  padding:40px 8px 34px;
  display:grid; grid-template-columns:repeat(6,1fr);
}
.pp-included__col{ padding:0 20px; position:relative; text-align:center; }
.pp-included__col + .pp-included__col::before{
  content:""; position:absolute; left:0; top:2px; bottom:2px; width:1px; background:var(--pp-line-soft);
}
.pp-included__ic{ display:block; margin:0 auto; color:var(--pp-gold); line-height:0; }
.pp-included__col h3{
  margin:14px 0 14px; font-size:.8rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.05em; color:var(--pp-ink); line-height:1.35;
}
.pp-list{ list-style:none; margin:0; padding:0; text-align:left; }
.pp-list li{ display:flex; align-items:flex-start; gap:8px; font-size:.8rem; line-height:1.45; color:var(--pp-ink-soft); margin-bottom:10px; }
.pp-list li:last-child{ margin-bottom:0; }
.pp-check{ width:12px; height:12px; flex:none; margin-top:4px; display:block; }

/* =========================================================
   EVERYTHING INCLUDED — one card, photo inset left
   ========================================================= */
.pp-complete{
  margin-top:36px; display:grid; grid-template-columns:376px 1fr; gap:0;
  border:1px solid var(--pp-line-soft); border-radius:18px;
  background:rgba(255,255,255,.62);
  box-shadow:0 16px 36px rgba(26,19,8,.09);
  padding:16px; align-items:stretch;
}
.pp-complete__photo{ position:relative; min-height:310px; }
.pp-complete__photo img{
  width:100%; height:100%; object-fit:cover; object-position:58% 50%;
  /* feathered edges so the photo melts into the card instead of sitting in a box */
  -webkit-mask-image:
    linear-gradient(to right,  transparent 0%, #000 16%, #000 84%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, #000 14%, #000 86%, transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to right,  transparent 0%, #000 16%, #000 84%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, #000 14%, #000 86%, transparent 100%);
  mask-composite:intersect;
}
.pp-complete__body{ padding:16px 8px 8px 34px; display:flex; flex-direction:column; }

.pp-complete__eyebrow{
  margin:0; color:var(--pp-ink-soft); font-weight:700; font-size:.76rem;
  letter-spacing:.14em; text-transform:uppercase;
}
.pp-complete__title{ margin:10px 0 0; font-family:var(--serif); font-weight:700; font-size:2.1rem; color:var(--pp-ink); line-height:1.15; }
.pp-complete__price{ margin:4px 0 0; font-family:var(--serif); font-weight:600; font-size:1.55rem; color:var(--pp-gold); }
.pp-complete__desc{ margin:14px 0 0; max-width:640px; font-size:.92rem; line-height:1.6; color:var(--pp-ink-soft); }

.pp-complete__stats{
  margin-top:auto; padding-top:22px; display:flex; align-items:stretch; gap:0; flex-wrap:wrap;
}
.pp-feat{
  flex:1 1 0; min-width:128px; display:flex; align-items:center; gap:10px;
  padding:4px 14px; border-left:1px solid var(--pp-line-soft);
}
.pp-feat:first-child{ border-left:none; padding-left:0; }
.pp-feat__icon{ flex:none; line-height:0; }
.pp-feat__icon img{ width:26px; height:26px; display:block; }
.pp-feat__text{ margin:0; font-size:.72rem; line-height:1.35; color:var(--pp-ink-soft); font-weight:500; }

/* =========================================================
   BOTTOM CTA PILL
   ========================================================= */
.pp-cta{
  margin-top:30px; display:flex; align-items:center; gap:22px;
  background:linear-gradient(150deg, #17150f 0%, var(--pp-black-2) 100%);
  border-radius:48px; padding:18px 20px 18px 34px;
  box-shadow:0 18px 40px rgba(20,14,4,.28);
}
.pp-cta__ic{ flex:none; color:var(--pp-gold); line-height:0; }
.pp-cta__text{ margin:0; font-size:1.02rem; font-weight:500; line-height:1.42; color:#fff; flex:none; }
.pp-cta__path{ flex:1 1 auto; min-width:0; height:34px; color:rgba(228,169,23,.8); }
.pp-cta__btn{ flex:none; margin-left:auto; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1240px){
  .pp-hero__l1, .pp-hero__l2{ font-size:2.9rem; }
  .pp-hero__badge{ right:24%; width:172px; height:172px; }
  .pp-hero__badge p{ font-size:.9rem; }
  .pp-included__card{ grid-template-columns:repeat(3,1fr); row-gap:34px; }
  .pp-included__col:nth-child(3n+1)::before{ display:none; }
}
@media (max-width:1080px){
  .pp-hero{ min-height:0; }
  .pp-hero__inner{ padding:44px 30px 40px; }
  .pp-hero__media img{ object-position:64% 44%; }
  .pp-hero__scrim{
    background:linear-gradient(180deg, rgba(248,242,230,.86) 0%, rgba(248,242,230,.9) 46%, var(--pp-cream-1) 96%);
  }
  .pp-hero__badge{ position:relative; right:auto; top:auto; margin:30px 0 0; }
  .pp-wrap{ padding:0 30px 60px; }
  .pp-highlights{ margin-top:26px; grid-template-columns:1fr; gap:22px; padding:26px 24px; }
  .pp-highlight{ padding:0; }
  .pp-highlight + .pp-highlight{ padding-top:22px; border-top:1px solid var(--pp-line-soft); }
  .pp-highlight + .pp-highlight::before{ display:none; }
  .pp-earn-row{ grid-template-columns:1fr; }
  .pp-complete{ grid-template-columns:1fr; }
  .pp-complete__photo{ min-height:0; height:260px; }
  .pp-complete__body{ padding:24px 10px 8px; }
  .pp-cta{ flex-wrap:wrap; border-radius:26px; padding:22px 24px; }
  .pp-cta__path{ display:none; }
  .pp-cta__btn{ margin-left:0; }
}
@media (max-width:780px){
  .pp-lifestyle{ grid-template-columns:1fr; }
  .pp-lifestyle__photo{ height:170px; order:-1; }
  .pp-included__card{ grid-template-columns:repeat(2,1fr); }
  .pp-included__col::before{ display:none !important; }
  .pp-feat{ flex:1 1 44%; border-left:none; padding-left:0; }
}
@media (max-width:560px){
  .pp-wrap{ padding:0 20px 48px; }
  .pp-hero__inner{ padding:34px 20px 32px; }
  .pp-hero__l1, .pp-hero__l2{ font-size:2.1rem; }
  .pp-price{ flex-direction:column; padding:20px 24px; gap:16px; width:100%; }
  .pp-price__div{ width:100%; height:1px; align-self:auto; }
  .pp-price__block{ padding:0; }
  .pp-hero__badge{ width:150px; height:150px; }
  .pp-hero__badge p{ font-size:.82rem; }
  .pp-panel{ padding:26px 20px; }
  .pp-panel__h{ font-size:1.5rem; }
  .pp-ways__list{ padding:4px 16px; }
  .pp-commission__table td{ font-size:1.5rem; padding:16px 4px; }
  .pp-commission__table tbody th{ padding:16px 10px; }
  .pp-commission__table thead th{ font-size:.66rem; padding:12px 4px; }
  .pp-journey__l1, .pp-journey__l2{ font-size:1.6rem; }
  .pp-journey__l2{ margin-left:0; }
  .pp-lifestyle__grid{ grid-template-columns:repeat(2,1fr); gap:16px 0; }
  .pp-lifestyle__item:nth-child(3)::before{ display:none; }
  .pp-included__title{ font-size:1.45rem; padding:0 14px; }
  .pp-included__card{ grid-template-columns:1fr; row-gap:30px; padding:36px 22px 30px; }
  .pp-included__col{ padding:0; }
  .pp-complete__title{ font-size:1.6rem; }
  .pp-feat{ flex:1 1 100%; }
  .pp-cta__text{ font-size:.94rem; }
}
