/* Externalized from inline css in public page bloat-reduction phase. Source marker: packages.php:olp-packages-lower-interactive-tune. */
/* Oloropa Packages Lower Page Fine Tune: route studio through final handoff */
:root{
  --olp-ivory:#fff8ea;
  --olp-gold:#e7c572;
  --olp-deep:#07100c;
  --olp-leaf:#3f5e3d;
  --olp-moss:#162319;
  --olp-shadow:0 32px 100px rgba(0,0,0,.34);
}
#category-rails.olp-tuned-studio,
#price-logic.olp-tuned-pricing,
#route-preview.olp-tuned-route,
#package-quiz.olp-tuned-quiz,
#trust-booking.olp-tuned-handoff{ scroll-margin-top: 96px; }
#category-rails.olp-tuned-studio{ min-height:100svh; background:#07100c; }
#category-rails.olp-tuned-studio::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:-1;
  background:
    linear-gradient(90deg,rgba(5,13,9,.84),transparent 28%,rgba(5,13,9,.5)),
    repeating-linear-gradient(115deg,rgba(255,248,234,.035) 0 1px,transparent 1px 24px);
  mix-blend-mode:screen; opacity:.65;
}
#category-rails .pkv-inner{ position:relative; }
#category-rails .olp-studio-console{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin-top:-.25rem;
}
#category-rails .olp-studio-console span{
  min-height:86px; border:1px solid rgba(231,197,114,.26); border-radius:24px;
  padding:1rem; background:linear-gradient(135deg,rgba(255,248,234,.12),rgba(255,248,234,.04));
  box-shadow:0 18px 50px rgba(0,0,0,.18); backdrop-filter:blur(16px); display:flex; flex-direction:column; justify-content:space-between;
}
#category-rails .olp-studio-console b{font-size:clamp(1.05rem,2vw,1.45rem); letter-spacing:-.035em; color:var(--olp-ivory)}
#category-rails .olp-studio-console small{color:rgba(255,248,234,.62); text-transform:uppercase; letter-spacing:.18em; font-size:.66rem; font-weight:800}
#category-rails .pkv-stage{ align-items:start; }
#category-rails .pkv-screen{
  position:sticky; top:calc(var(--ol-qa-header-height, 88px) + 18px);
  transform-style:preserve-3d; will-change:transform, filter;
}
#category-rails .pkv-screen::before{
  content:""; position:absolute; inset:1rem; z-index:2; pointer-events:none; border-radius:26px;
  border:1px solid rgba(255,248,234,.16); box-shadow:inset 0 0 80px rgba(231,197,114,.08);
}
#category-rails .pkv-map-lines path{ animation:olp-route-dash 9s linear infinite; }
#category-rails .pkv-locations span{ opacity:.94; }
#category-rails .pkv-locations span b{ font-weight:900; }
#category-rails .olp-route-signal{display:flex;gap:.42rem;align-items:flex-end;width:min(260px,70%);height:34px;margin-top:.2rem}
#category-rails .olp-route-signal i{display:block;width:100%;height:var(--s);border-radius:999px 999px 6px 6px;background:linear-gradient(180deg,rgba(231,197,114,.95),rgba(231,197,114,.25));box-shadow:0 0 18px rgba(231,197,114,.22);animation:olp-signal-breathe 2.8s ease-in-out infinite alternate}
#category-rails .olp-route-signal i:nth-child(2){animation-delay:.18s}#category-rails .olp-route-signal i:nth-child(3){animation-delay:.36s}#category-rails .olp-route-signal i:nth-child(4){animation-delay:.54s}
#category-rails .pkv-card-grid{ max-height:640px; padding-right:.35rem; scrollbar-width:thin; scrollbar-color:rgba(231,197,114,.45) rgba(255,248,234,.08); }
#category-rails .pkv-card{ position:relative; overflow:hidden; transform:translateZ(0); }
#category-rails .pkv-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(231,197,114,.22),transparent 32%);opacity:0;transition:opacity .25s ease}
#category-rails .pkv-card:is(:hover,:focus-visible,.is-active)::after{opacity:1}
#category-rails .pkv-card.is-active{ outline:1px solid rgba(231,197,114,.72); box-shadow:0 24px 64px rgba(0,0,0,.3), 0 0 0 6px rgba(231,197,114,.08); }
#category-rails .pkv-card-media img{transition:transform .8s cubic-bezier(.16,1,.3,1), filter .5s ease}
#category-rails .pkv-card:is(:hover,:focus-visible,.is-active) .pkv-card-media img{transform:scale(1.12) rotate(.45deg);filter:saturate(1.12) contrast(1.08)}
#category-rails .pkv-filter{ position:relative; overflow:hidden; }
#category-rails .pkv-filter::before{content:"";position:absolute;inset:auto 12% 0;height:2px;background:var(--olp-gold);transform:scaleX(0);transition:transform .28s ease;transform-origin:left}
#category-rails .pkv-filter.is-active::before,#category-rails .pkv-filter:hover::before{transform:scaleX(1)}

#price-logic.olp-tuned-pricing{ isolation:isolate; overflow:hidden; background:#07100c; }
#price-logic.olp-tuned-pricing::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 14% 18%,rgba(231,197,114,.2),transparent 28%),linear-gradient(110deg,rgba(0,0,0,.78),rgba(7,16,12,.78));}
#price-logic > video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.36; filter:saturate(1.15) contrast(1.1) brightness(.66); z-index:-2;}
#price-logic .pk-price-logic{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem;align-items:stretch;}
#price-logic .pk4-price-card{cursor:pointer;min-height:245px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .3s ease,background .3s ease,box-shadow .3s ease;position:relative;overflow:hidden;}
#price-logic .pk4-price-card::after{content:attr(data-olp-price-impact);position:absolute;left:1rem;right:1rem;bottom:1rem;border-top:1px solid rgba(231,197,114,.2);padding-top:.7rem;color:rgba(255,248,234,.72);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;}
#price-logic .pk4-price-card:is(:hover,:focus-visible,.is-active){transform:translateY(-8px);border-color:rgba(231,197,114,.72);background:linear-gradient(145deg,rgba(255,248,234,.16),rgba(255,248,234,.055));box-shadow:0 24px 70px rgba(0,0,0,.32);outline:none;}
#price-logic .olp-price-lens{margin:1.2rem 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);gap:1rem;align-items:stretch;border:1px solid rgba(231,197,114,.24);border-radius:30px;background:linear-gradient(135deg,rgba(255,248,234,.12),rgba(255,248,234,.04));padding:clamp(1rem,2.4vw,1.4rem);box-shadow:0 24px 80px rgba(0,0,0,.24);backdrop-filter:blur(18px);}
#price-logic .olp-price-lens span{display:block;color:var(--olp-gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;font-weight:900;margin-bottom:.45rem}
#price-logic .olp-price-lens strong{display:block;font-size:clamp(1.6rem,3vw,3rem);line-height:1;letter-spacing:-.055em;color:var(--olp-ivory)}
#price-logic .olp-price-lens p{max-width:760px;color:rgba(255,248,234,.76);line-height:1.75;margin:.8rem 0 0}
#price-logic .olp-price-lens ul{display:grid;gap:.6rem;list-style:none;margin:0;padding:0}
#price-logic .olp-price-lens li{border:1px solid rgba(231,197,114,.18);border-radius:18px;padding:.75rem;background:rgba(7,16,12,.42)}
#price-logic .olp-price-lens b{display:block;color:var(--olp-ivory)}#price-logic .olp-price-lens em{font-style:normal;color:rgba(255,248,234,.55);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}

#route-preview.olp-tuned-route{background:linear-gradient(180deg,#f6efe0,#e8dfcc);overflow:hidden;isolation:isolate;}
#route-preview.olp-tuned-route::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 20% 12%,rgba(231,197,114,.42),transparent 24%),radial-gradient(circle at 82% 70%,rgba(63,94,61,.22),transparent 30%);}
#route-preview .pk4-route-studio{display:grid;grid-template-columns:minmax(260px,.42fr) minmax(0,1fr);gap:1rem;align-items:stretch;}
#route-preview .pk4-route-tabs{display:grid;gap:.72rem;align-content:start;}
#route-preview .pk4-route-tab{position:relative;overflow:hidden;min-height:92px;border-radius:24px;border:1px solid rgba(7,16,12,.12);background:rgba(255,255,255,.42);box-shadow:0 18px 55px rgba(28,41,24,.08);transition:transform .28s ease,border-color .28s ease,background .28s ease;}
#route-preview .pk4-route-tab::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(63,94,61,.1),rgba(231,197,114,.12));transform:translateX(-100%);transition:transform .35s ease;}
#route-preview .pk4-route-tab:is(:hover,:focus-visible,.is-active){transform:translateX(5px);border-color:rgba(63,94,61,.34);background:#fff8ea;outline:none;}
#route-preview .pk4-route-tab.is-active::after{transform:translateX(0)}
#route-preview .pk4-map-stage{position:relative;overflow:hidden;border-radius:36px;border:1px solid rgba(7,16,12,.14);min-height:620px;background:linear-gradient(135deg,#19351f,#0a1710);box-shadow:0 36px 110px rgba(18,35,20,.22);}
#route-preview .pk4-map-stage::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 33% 26%,rgba(231,197,114,.25),transparent 22%),linear-gradient(180deg,rgba(255,248,234,.08),rgba(0,0,0,.2));pointer-events:none;}
#route-preview .olp-map-orbit{position:absolute;inset:0;}
#route-preview .olp-kenya-thread{position:absolute;inset:8% 7%;width:86%;height:84%;filter:drop-shadow(0 18px 35px rgba(0,0,0,.28));}
#route-preview .olp-kenya-thread path{fill:none;stroke:rgba(231,197,114,.95);stroke-width:.7;stroke-linecap:round;stroke-dasharray:4 5;animation:olp-route-dash 12s linear infinite;}
#route-preview .olp-kenya-thread path.soft{stroke:rgba(255,248,234,.34);stroke-width:.4;animation-duration:18s;}
#route-preview .pk4-map-orbit .pin{z-index:3;box-shadow:0 0 0 8px rgba(231,197,114,.12),0 16px 35px rgba(0,0,0,.26);}
#route-preview .pk4-route-story{backdrop-filter:blur(18px);border-color:rgba(255,248,234,.22);background:rgba(255,248,234,.12);box-shadow:0 22px 80px rgba(0,0,0,.24);}
#route-preview .olp-route-dashboard{position:absolute;left:clamp(1rem,3vw,1.4rem);right:clamp(1rem,3vw,1.4rem);bottom:clamp(1rem,3vw,1.4rem);z-index:6;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;}
#route-preview .olp-route-dashboard span{border:1px solid rgba(255,248,234,.18);border-radius:18px;padding:.8rem;background:rgba(6,14,9,.54);backdrop-filter:blur(14px);color:var(--olp-ivory)}
#route-preview .olp-route-dashboard strong{display:block;font-size:1.1rem}#route-preview .olp-route-dashboard em{font-style:normal;color:rgba(255,248,234,.58);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900}

#package-quiz.olp-tuned-quiz{isolation:isolate;background:linear-gradient(180deg,#fff8ea,#f0eadf);overflow:hidden;}
#package-quiz.olp-tuned-quiz::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 15% 16%,rgba(231,197,114,.3),transparent 24%),radial-gradient(circle at 85% 20%,rgba(63,94,61,.18),transparent 28%);}
#package-quiz .pk4-quiz-shell{position:relative;display:grid;grid-template-columns:minmax(280px,.38fr) minmax(0,1fr);gap:1rem;align-items:start;}
#package-quiz .olp-match-meter{grid-column:1/-1;border:1px solid rgba(7,16,12,.12);border-radius:999px;background:rgba(255,255,255,.54);padding:.65rem .75rem;display:flex;gap:1rem;align-items:center;box-shadow:0 20px 55px rgba(24,36,22,.08);}
#package-quiz .olp-match-meter span{height:10px;flex:1;border-radius:999px;background:rgba(7,16,12,.09);overflow:hidden}#package-quiz .olp-match-meter i{display:block;height:100%;width:12%;border-radius:inherit;background:linear-gradient(90deg,var(--olp-leaf),var(--olp-gold));transition:width .35s ease}#package-quiz .olp-match-meter strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:#203222;white-space:nowrap}
#package-quiz .pk4-quiz-panel{position:sticky;top:calc(var(--ol-qa-header-height, 88px) + 18px);border-radius:34px;box-shadow:0 32px 90px rgba(29,42,24,.12);}
#package-quiz .pk4-quiz-choice{min-height:118px;overflow:hidden;transform:translateZ(0);transition:transform .32s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,border-color .3s ease;}
#package-quiz .pk4-quiz-choice::after{content:attr(data-olp-choice-note);position:absolute;inset:auto 1rem .9rem 1rem;color:rgba(255,248,234,.74);font-size:.7rem;line-height:1.35;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease;}
#package-quiz .pk4-quiz-choice:is(:hover,:focus-visible,.is-active)::after{opacity:1;transform:translateY(0)}
#package-quiz .pk4-quiz-choice:is(:hover,:focus-visible,.is-active){transform:translateY(-5px) rotateX(2deg);box-shadow:0 24px 70px rgba(0,0,0,.22);}
#package-quiz .pk4-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
#package-quiz .pk3-journey-card{overflow:hidden;border-radius:30px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease,border-color .35s ease;}
#package-quiz .pk3-journey-card:is(:hover,:focus-within){transform:translateY(-8px);box-shadow:0 30px 86px rgba(28,41,24,.16);border-color:rgba(63,94,61,.28)}
#package-quiz .pk4-card-media{min-height:230px;overflow:hidden}#package-quiz .pk4-card-media img{transition:transform .8s cubic-bezier(.16,1,.3,1),filter .4s ease}#package-quiz .pk3-journey-card:hover .pk4-card-media img{transform:scale(1.1);filter:saturate(1.1) contrast(1.06)}

#trust-booking.olp-tuned-handoff{isolation:isolate;overflow:hidden;background:#07100c;}
#trust-booking.olp-tuned-handoff::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 18% 22%,rgba(231,197,114,.24),transparent 28%),radial-gradient(circle at 82% 70%,rgba(63,94,61,.26),transparent 30%),linear-gradient(135deg,#07100c,#152419);}
#trust-booking .pk4-safety-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
#trust-booking .pk4-safety-card{position:relative;overflow:hidden;min-height:280px;display:flex;flex-direction:column;justify-content:space-between;border-radius:32px;transition:transform .35s ease,border-color .35s ease,background .35s ease;}
#trust-booking .pk4-safety-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(231,197,114,.18),transparent 44%);opacity:0;transition:opacity .3s ease}
#trust-booking .pk4-safety-card:is(:hover,:focus-within){transform:translateY(-8px);border-color:rgba(231,197,114,.5);background:rgba(255,248,234,.1)}#trust-booking .pk4-safety-card:is(:hover,:focus-within)::before{opacity:1}
#trust-booking .olp-handoff-board{margin:1.2rem 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;}
#trust-booking .olp-handoff-board span{border:1px solid rgba(231,197,114,.2);border-radius:22px;padding:.9rem;background:rgba(255,248,234,.07);display:flex;align-items:center;gap:.75rem;backdrop-filter:blur(14px)}
#trust-booking .olp-handoff-board b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--olp-gold);color:#07100c;box-shadow:0 0 0 8px rgba(231,197,114,.1)}#trust-booking .olp-handoff-board em{font-style:normal;color:rgba(255,248,234,.8);font-weight:800}
.pk4-compare-tray.olp-compare-tray{box-shadow:0 -18px 70px rgba(0,0,0,.28);border-top:1px solid rgba(231,197,114,.24);backdrop-filter:blur(20px);}

@keyframes olp-route-dash{to{stroke-dashoffset:-120}}
@keyframes olp-signal-breathe{from{opacity:.52;transform:scaleY(.72)}to{opacity:1;transform:scaleY(1)}}
@media (max-width: 1100px){
  #price-logic .pk-price-logic{grid-template-columns:repeat(2,minmax(0,1fr));}
  #route-preview .pk4-route-studio,#package-quiz .pk4-quiz-shell{grid-template-columns:1fr;}
  #package-quiz .pk4-quiz-panel,#category-rails .pkv-screen{position:relative;top:auto;}
  #package-quiz .pk4-result{grid-template-columns:1fr;}
}
@media (max-width: 760px){
  #category-rails .olp-studio-console,#price-logic .olp-price-lens,#route-preview .olp-route-dashboard,#trust-booking .olp-handoff-board,#trust-booking .pk4-safety-grid{grid-template-columns:1fr;}
  #category-rails .pkv-stage{grid-template-columns:1fr;}
  #price-logic .pk-price-logic{grid-template-columns:1fr;}
  #route-preview .pk4-map-stage{min-height:560px;}
  #package-quiz .olp-match-meter{border-radius:24px;align-items:flex-start;flex-direction:column;}
  #package-quiz .olp-match-meter strong{white-space:normal;}
}
@media (prefers-reduced-motion: reduce){
  #category-rails .olp-route-signal i,#route-preview .olp-kenya-thread path,#category-rails .pkv-map-lines path{animation:none!important;}
  #category-rails .pkv-screen,#price-logic .pk4-price-card,#route-preview .pk4-route-tab,#package-quiz .pk4-quiz-choice,#trust-booking .pk4-safety-card{transition:none!important;transform:none!important;}
}
