.pkgRev{ opacity:0;transform:translateY(28px);transition:opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.pkgRev.in{ opacity:1;transform:translateY(0); }
.pkgEyebrow{ transition-delay:0s; }
.pkgH2{ transition-delay:.1s; }
.pkgBody{ transition-delay:.2s; }
.pkgCarouselRow{ transition-delay:.3s; }
.pkgCtaWrap{ transition-delay:.4s; }

.pkgCard{ transition:transform .85s cubic-bezier(.4,.85,.3,1), opacity .85s ease, filter .85s ease, box-shadow .35s ease; }
@keyframes sheenSweep{0%{transform:translateX(-130%) skewX(-18deg);}100%{transform:translateX(130%) skewX(-18deg);}}
@keyframes glint{0%,100%{opacity:0;transform:scale(.5);}50%{opacity:.9;transform:scale(1);}}
@keyframes navPulse{0%,100%{opacity:.4;transform:translate(0,0);}50%{opacity:.95;transform:translate(var(--nx,0),var(--ny,0));}}
@keyframes ctaTravel{0%{left:0;opacity:0;}15%{opacity:1;}100%{left:100%;opacity:0;}}

.pkgRoot{
  position:relative;width:100%;min-height:100vh;overflow:hidden;background:#F6F3EC;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  padding:96px 24px 120px;box-sizing:border-box;font-family:'Inter',sans-serif;
}
.pkgHeadWrap{ position:relative;z-index:2;width:100%;max-width:1180px;text-align:center; }
.pkgEyebrow{ font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:#C85A34; }
.pkgH2{ margin:16px auto 14px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(32px,4vw,52px);line-height:1.06;letter-spacing:-.02em;color:#0F1B3D;max-width:820px; }
.pkgBody{ margin:0 auto;font-weight:400;font-size:19px;line-height:1.6;color:#45506B;max-width:600px; }

.pkgCarouselRow{ display:flex;align-items:center;justify-content:center;gap:6px;margin:36px 0 0; }

.sparkNav{ position:relative;width:56px;height:150px;flex:none;cursor:pointer;background:none;border:none;padding:0; }
.sparkNav:hover .navDot{ opacity:1 !important; }
.navDot{ position:absolute;border-radius:50%;background:radial-gradient(circle,#fff,#FF7A54 60%,transparent);opacity:.5;animation-name:navPulse;animation-timing-function:ease-in-out;animation-iteration-count:infinite; }

.pkgStage{ position:relative;flex:1;max-width:760px;height:520px;perspective:1700px;touch-action:pan-y;cursor:grab; }
.pkgStage:active{ cursor:grabbing; }

.pkgCard{
  position:absolute;left:50%;top:50%;width:360px;height:460px;margin:-230px 0 0 -180px;
  border-radius:26px;overflow:hidden;
}
.pkgCardInner{ position:relative;height:100%;box-sizing:border-box;padding:44px 38px;display:flex;flex-direction:column;text-align:left; }
.pkgTier{ font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:40px;letter-spacing:-.01em;margin-bottom:22px; }
.pkgHeadline{ font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:26px;line-height:1.28;margin-bottom:auto; }
.pkgFit{ font-family:'Inter',sans-serif;font-weight:600;font-size:14px;letter-spacing:.05em;text-transform:uppercase; }

/* ---- Gold ---- */
.pkgGold{ background:linear-gradient(150deg,#F7E3A1,#E4B84C 42%,#B8862B 76%,#EAC868); box-shadow:0 30px 60px rgba(120,90,20,.32); }
.pkgGold:hover{ box-shadow:0 30px 60px rgba(120,90,20,.32), 0 0 55px rgba(231,184,78,.85); }
.pkgGold .pkgCardFx{ position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.6) 50%,transparent 60%);animation:sheenSweep 7s linear infinite;pointer-events:none; }
.pkgGold .pkgTier{ color:#463008; }
.pkgGold .pkgHeadline{ color:#3B2C0C; }
.pkgGold .pkgFit{ color:#7A5A12; }

/* ---- Platinum ---- */
.pkgPlatinum{ background:linear-gradient(150deg,#F4F7F9,#C7D0D7 44%,#9BA7B0 76%,#E1E7EB); box-shadow:0 30px 60px rgba(70,80,90,.28); }
.pkgPlatinum:hover{ box-shadow:0 30px 60px rgba(70,80,90,.28), 0 0 55px rgba(205,214,222,.9); }
.pkgPlatinum .pkgCardFx{ position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.7) 50%,transparent 60%);animation:sheenSweep 8.5s linear infinite;pointer-events:none; }
.pkgPlatinum .pkgTier,.pkgPlatinum .pkgHeadline{ color:#2B333A; }
.pkgPlatinum .pkgFit{ color:#5A6570; }

/* ---- Diamond ---- */
.pkgDiamond{ background:linear-gradient(150deg,#EAF7FC,#BFE6F2 46%,#93CFE4 76%,#E6F8FD); box-shadow:0 30px 60px rgba(60,120,140,.28); }
.pkgDiamond:hover{ box-shadow:0 30px 60px rgba(60,120,140,.28), 0 0 58px rgba(150,210,235,.9); }
.pkgDiamond .pkgCardFx{ position:absolute;inset:0;background:conic-gradient(from 25deg at 60% 40%,rgba(255,255,255,.42),transparent 60deg,rgba(180,225,240,.4) 130deg,transparent 190deg,rgba(255,255,255,.4) 260deg,transparent 320deg);pointer-events:none; }
.pkgGlint{ position:absolute;border-radius:50%;background:#fff;box-shadow:0 0 9px #fff;animation-name:glint;animation-timing-function:ease-in-out;animation-iteration-count:infinite;pointer-events:none; }
.pkgDiamond .pkgTier{ color:#1C3E4E; }
.pkgDiamond .pkgHeadline{ color:#183848; }
.pkgDiamond .pkgFit{ color:#2E6C86; }

/* ---- Titanium ---- */
.pkgTitanium{ background:linear-gradient(150deg,#3C444E,#232831 56%,#2F3740); box-shadow:0 30px 60px rgba(10,15,25,.44); }
.pkgTitanium:hover{ box-shadow:0 30px 60px rgba(10,15,25,.44), 0 0 52px rgba(90,150,190,.7); }
.pkgTitanium .pkgCardFx{ position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px);pointer-events:none; }
.pkgTitanium .pkgCardFx::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(115deg,transparent 42%,rgba(180,205,225,.24) 50%,transparent 58%);
  animation:sheenSweep 10s linear infinite;
}
.pkgTitanium .pkgTier{ color:#EAF0F5; }
.pkgTitanium .pkgHeadline{ color:#DFE7EE; }
.pkgTitanium .pkgFit{ color:#9FC2D6; }

/* ---- CTA: text + glowing line + traveling spark (distinct from every other CTA style) ---- */
.pkgCtaWrap{ margin-top:44px; }
.ctaWrap{ display:inline-block;cursor:pointer;text-decoration:none; }
.ctaText{ transition:color .3s ease, letter-spacing .3s ease;color:#20305A;font-weight:600;font-size:17px;font-family:'Inter',sans-serif; }
.ctaWrap:hover .ctaText{ color:#0F1B3D;letter-spacing:.012em; }
.ctaLine{ position:relative;height:2px;margin-top:9px;border-radius:2px;background:linear-gradient(90deg,transparent,#FF7A54,#FFC24A,#FF7A54,transparent);box-shadow:0 0 9px rgba(255,122,84,.5); }
.ctaSpark{ position:absolute;top:50%;left:0;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:radial-gradient(circle,#fff,#FF7A54 60%,transparent);opacity:0; }
.ctaWrap:hover .ctaSpark{ animation:ctaTravel .85s ease-out; }
.ctaWrap:active .ctaText{ color:#0F1B3D;letter-spacing:.012em; }
.ctaWrap:active .ctaSpark{ animation:ctaTravel .85s ease-out; }

@media(max-width:768px){
  .pkgStage{ max-width:100%;height:460px;perspective:none; }
  .pkgCard{ width:300px;height:420px;margin:-210px 0 0 -150px; }
  .sparkNav{ width:40px; }
}
@media(max-width:420px){
  .pkgCard{ width:262px;height:400px;margin:-200px 0 0 -131px; }
  .pkgStage{ height:440px; }
  .sparkNav{ width:30px; }
}

@media (prefers-reduced-motion: reduce){
  .pkgCardFx, .pkgTitanium .pkgCardFx::after, .pkgGlint, .navDot, .ctaSpark{ animation:none !important; }
}
