/* Pioneer Holidays destination collection — an editorial system shared by seven package guides. */
:root {
  --ph-paper: #f5f2ea;
  --ph-paper-deep: #e9e5d8;
  --ph-night: #171343;
  --ph-berry: #332e9b;
  --ph-leaf: #6cc24a;
  --ph-river: #edf5e9;
  --ph-terracotta: #b6573c;
  --ph-shadow-editorial: 0 18px 45px rgba(23,19,67,.11);
}

body { background: var(--ph-paper); font-family: Arial, Helvetica, sans-serif; }
.ph-section { position:relative; padding:clamp(58px,8vw,112px) 0; background:var(--ph-paper); }
.ph-section.tj-alt, .agra-editorial-alt, .jaipur-alt, .varanasi-alt { background:var(--ph-river); }
.ph-container { max-width:1240px; padding-inline:clamp(18px,3vw,38px); }
.ph-container.tj-wide { max-width:1320px; }
.ph-hero { min-height:min(790px,92vh); padding:156px 0 154px; }
.ph-hero::after { content:""; position:absolute; width:clamp(420px,55vw,760px); height:clamp(420px,55vw,760px); right:-19%; top:-40%; border:1px solid rgba(198,233,181,.33); border-radius:50%; z-index:1; }
.ph-hero-bg { transform:scale(1.06); animation:ph-hero-arrival 1.35s cubic-bezier(.2,.7,.2,1) both; }
.ph-hero-overlay { background:linear-gradient(90deg,rgba(23,19,67,.93) 0%,rgba(23,19,67,.72) 45%,rgba(23,19,67,.38) 100%); }
.ph-hero-inner { max-width:1060px; text-align:left; margin-inline:0; }
.ph-hero h1, .ph-section-head h2, .tj-style-block h3, .agra-prose h2, .jaipur-prose h2, .varanasi-prose h2 { font-family:Fraunces, Georgia, serif; }
.ph-hero h1 { max-width:970px; font-size:clamp(43px,6vw,78px); line-height:.99; letter-spacing:-.055em; text-shadow:none; animation:ph-rise .75s .1s both; }
.ph-hero h1 span { display:block; color:#d9efcc; font-weight:600; }
.ph-hero-sub { margin:0 0 31px; max-width:725px; font-size:17px; line-height:1.78; animation:ph-rise .75s .2s both; }
.ph-hero-badge { padding:8px 13px; border-radius:3px; font-family:"DM Mono",monospace; font-size:10px; letter-spacing:.12em; animation:ph-rise .75s both; }
.ph-hero-cta { justify-content:flex-start; margin-bottom:42px; animation:ph-rise .75s .28s both; }
.ph-btn { border-radius:4px; padding:15px 24px; font-size:14px; letter-spacing:.02em; }
.ph-btn-green { color:var(--ph-night); box-shadow:none; }
.ph-btn-outline { border-radius:4px; }
.ph-hero-stats { justify-content:flex-start; max-width:880px; margin:0; border-radius:4px; padding:15px 8px; background:rgba(12,11,46,.35); animation:ph-rise .75s .36s both; }
.ph-stat { flex-basis:145px; text-align:left; padding:5px 18px; }
.ph-stat strong { font-family:Fraunces,Georgia,serif; font-size:28px; }

.ph-route-rail, .agra-rail, .jaipur-rail, .varanasi-rail { position:sticky; top:0; z-index:90; background:rgba(245,242,234,.94); backdrop-filter:blur(14px); border-block:1px solid rgba(23,19,67,.13); }
.ph-route-rail .ph-container, .agra-rail .ph-container, .jaipur-rail .ph-container, .varanasi-rail .ph-container { display:flex; align-items:center; gap:0; padding-top:0; padding-bottom:0; overflow-x:auto; }
.ph-route-rail a, .agra-rail a, .jaipur-rail a, .varanasi-rail a { padding:16px 18px; color:var(--ph-night); font-family:"DM Mono",monospace; font-size:10px; letter-spacing:.07em; text-transform:uppercase; border-right:1px solid rgba(23,19,67,.10); transition:background .2s,color .2s; }
.ph-route-rail a:first-child { border-left:1px solid rgba(23,19,67,.10); }
.ph-route-rail a:hover, .agra-rail a:hover, .jaipur-rail a:hover, .varanasi-rail a:hover { background:var(--ph-leaf); color:var(--ph-night); }

.tj-intro, .ndp-intro, .ndp-prose, .agra-prose, .jaipur-prose, .varanasi-prose { max-width:1040px; }
.tj-intro p, .ndp-intro p, .ndp-prose p, .agra-prose p, .jaipur-prose p, .varanasi-prose p { font-size:16px; line-height:1.92; }
.tj-intro p:first-child, .ndp-intro p:first-child, .agra-prose>p:first-of-type, .jaipur-prose>p:first-of-type, .varanasi-prose>p:first-of-type { font-family:Fraunces,Georgia,serif; font-size:clamp(22px,2.5vw,29px); line-height:1.4; font-weight:600; color:var(--ph-night); }
.ph-section-head { text-align:left; max-width:880px; margin:0 0 38px; }
.ph-section-head h2 { color:var(--ph-night); font-size:clamp(32px,4vw,52px); line-height:1.06; letter-spacing:-.045em; }
.ph-section-head p { max-width:760px; font-size:15px; }
.ph-badge { border-radius:3px; padding:6px 9px; font-family:"DM Mono",monospace; font-size:10px; letter-spacing:.1em; }

.ph-section .tour-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:30px; }
.ph-section .tour-card { border:1px solid rgba(23,19,67,.13); border-radius:4px; box-shadow:none; background:#fbfaf5; }
.ph-section .tour-card:hover { transform:translateY(-5px); box-shadow:var(--ph-shadow-editorial); }
.ph-section .tour-image { aspect-ratio:4 / 2.75; }
.ph-section .tour-image img { transition:transform .55s ease; }
.ph-section .tour-card:hover .tour-image img { transform:scale(1.045); }
.ph-section .tour-badge { left:12px; bottom:12px; border:0; border-radius:2px; color:var(--ph-night); font-family:"DM Mono",monospace; font-size:10px; }
.ph-section .tour-info { padding:18px 18px 20px; }
.ph-section .tour-title { color:var(--ph-night); font-family:Fraunces,Georgia,serif; font-size:18px; line-height:1.25; }
.ph-section .tour-meta, .ph-section .reviews, .ph-section .tour-price .per { color:#5b596e; }
.ph-section .tour-price .new { color:var(--ph-berry); }
.ph-section .tour-ribbon { border-radius:2px; background:var(--ph-night); font-family:"DM Mono",monospace; font-size:10px; }

.tj-style-block,
.agra-guide-module:not(.agra-booking),
.jaipur-module:not(.jaipur-module--booking),
.varanasi-module:not(.varanasi-module--booking) { border-radius:3px 20px 20px 20px; box-shadow:none; border-color:rgba(23,19,67,.14); background:#fbfaf5; }
.tj-style-block { max-width:960px; margin-inline:auto; padding:39px 44px; }
.tj-style-block::before { width:4px; background:var(--ph-leaf); }
.tj-style-block:hover { box-shadow:var(--ph-shadow-editorial); }
.tj-style-block h3 { color:var(--ph-night); font-size:28px; letter-spacing:-.025em; }
.tj-style-tag { border-radius:2px; font-family:"DM Mono",monospace; font-size:10px; }
.tj-price-table-wrap { max-width:920px; border-radius:3px; box-shadow:var(--ph-shadow-editorial); }
.tj-price-table th { background:var(--ph-night); font-family:"DM Mono",monospace; text-transform:uppercase; font-size:11px; letter-spacing:.08em; }
.tj-price-table td { padding:17px 24px; }
.tj-season-card, .tj-sight-card, .ndp-card, .ndp-trip-card, .ndp-fact-card, .ndp-season-card { border-radius:3px 16px 16px 16px; box-shadow:none; background:#fbfaf5; }
.tj-season-card:hover, .tj-sight-card:hover, .ndp-card:hover, .ndp-trip-card:hover, .ndp-fact-card:hover { box-shadow:var(--ph-shadow-editorial); }
.ph-faq-list { max-width:920px; }
.ph-faq-item { border-radius:3px; box-shadow:none; background:#fbfaf5; }
.ph-faq-item summary { font-family:Fraunces,Georgia,serif; color:var(--ph-night); }

.gt-query-section { background:var(--ph-paper) !important; padding:72px 0 44px !important; }
.gt-query-box { border:1px solid rgba(23,19,67,.14); box-shadow:var(--ph-shadow-editorial) !important; border-radius:3px 22px 22px 22px !important; }
.gt-query-header { background:var(--ph-night) !important; border-bottom:4px solid var(--ph-leaf); text-align:left; }
.gt-query-header h3 { font-family:Fraunces,Georgia,serif; font-size:27px; }
.gt-btn-next { background:var(--ph-leaf) !important; color:var(--ph-night) !important; border-radius:3px; }
.gt-btn-submit { background:var(--ph-berry) !important; border-radius:3px; }
[id] { scroll-margin-top:62px; }

@keyframes ph-hero-arrival { from { transform:scale(1.12); } to { transform:scale(1.06); } }
@keyframes ph-rise { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:980px) { .ph-section .tour-list{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:700px) {
  .ph-hero{min-height:0;padding:118px 0 112px}.ph-hero-inner{text-align:left}.ph-hero h1{font-size:clamp(38px,11vw,56px)}.ph-hero-stats{margin:0}.ph-stat{flex-basis:42%;}.ph-stat + .ph-stat{border-left:0}.ph-route-rail a,.agra-rail a,.jaipur-rail a,.varanasi-rail a{padding:14px 14px}.ph-section .tour-list{grid-template-columns:1fr;gap:14px}.ph-section .tour-card>.tour-link{display:grid!important;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:12px;padding:10px}.ph-section .tour-image{width:100%!important;min-width:0;height:auto!important;aspect-ratio:1/1}.ph-section .tour-info{width:auto!important;min-width:0;padding:2px 3px!important;overflow:visible}.ph-section .tour-title{font-size:16px;margin-top:0!important;overflow-wrap:anywhere}.ph-section .tour-info .tour-ribbon{position:static;margin-bottom:5px;width:max-content;max-width:100%}.tj-style-block{padding:28px 23px}.ph-section-head h2{font-size:34px}.ph-hero::after{display:none}.gt-query-header{text-align:center}
}
@media (max-width:480px) {
  .ph-section .tour-card{padding:0}
  .ph-section .tour-card>.tour-link{display:block!important;padding:0}
  .ph-section .tour-image{width:100%!important;aspect-ratio:16/9!important;border-radius:0!important}
  .ph-section .tour-info{display:block!important;width:100%!important;padding:16px!important;overflow:visible}
  .ph-section .tour-title{font-size:17px;line-height:1.3;margin:0 0 8px!important}
  .ph-section .tour-meta{flex-wrap:wrap!important;white-space:normal!important;overflow:visible!important}
  .ph-section .tour-category-mobile{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .ph-section .tour-rating{margin:8px 0}
  .ph-section .tour-price{margin-top:0;flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }