.page-hero { background: var(--paper); border-bottom: 1px solid var(--line); padding: clamp(3.2rem, 7vw, 7rem) 0 clamp(2.6rem, 5vw, 5rem); }
.page-hero--image { background: linear-gradient(90deg, rgba(10,10,10,0.68), rgba(10,10,10,0.18)), var(--hero-image) center/cover; color: var(--paper); min-height: 430px; display: flex; align-items: end; }
.page-hero--image h1, .page-hero--image .intro { color: var(--paper); }
/* Image-hero contrast override: eyebrow, breadcrumbs and outline CTAs were
   designed for light paper sections and became unreadable over Kashmir
   mountains, Kerala sky and Rajasthan sand. A shared translucent ink backing
   keeps every element readable across both dark and pale photographs without
   touching the global light-background button styles. */
.page-hero--image .eyebrow { color: rgba(255, 255, 255, 0.92); }
.page-hero--image .breadcrumbs { color: rgba(255, 255, 255, 0.95); }
.page-hero--image .breadcrumbs a, .page-hero--image .breadcrumbs li { color: rgba(255, 255, 255, 0.95); }
.page-hero--image .breadcrumbs li[aria-current="page"], .page-hero--image .breadcrumbs span[aria-current="page"] { color: var(--paper); text-shadow: 0 1px 8px rgba(10, 10, 10, 0.55); }
.page-hero--image .button--outline { background: rgba(247, 244, 238, 0.92); border-color: rgba(247, 244, 238, 0.92); color: var(--ink); }
.page-hero--image .button--outline:hover, .page-hero--image .button--outline:focus-visible, .page-hero--image .button--outline:active { background: #ffffff; border-color: #ffffff; color: var(--ink); }
.page-hero--image .button--outline:focus-visible { outline: 3px solid rgba(255, 255, 255, 0.9); outline-offset: 3px; }
.page-hero-grid { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1.35fr) minmax(270px, 0.65fr); }
.page-hero-summary { align-content: center; background: var(--ivory); border-radius: var(--radius-card); color: var(--soft-ink); display: grid; gap: 0.9rem; height: fit-content; padding: 1.4rem; }
.page-hero-summary .eyebrow { color: var(--blue); }
.page-hero-summary p { color: var(--soft-ink); margin: 0; }
.page-hero-summary strong { color: var(--ink); }
.page-hero-summary a { color: var(--blue-deep); }
.page-hero-summary__facts { display: grid; gap: 0.65rem; margin: 0; }
.page-hero-summary__facts > div { display: grid; gap: 0.1rem; }
.page-hero-summary__facts dt { color: var(--muted); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.page-hero-summary__facts dd { margin: 0; font-size: 0.92rem; color: var(--ink); }
.filter-bar { align-items: end; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-card); display: grid; gap: 0.85rem; grid-template-columns: repeat(4, 1fr) auto; margin-bottom: 2rem; padding: 1rem; }
.filter-bar label { color: var(--muted); display: grid; font-size: 0.7rem; font-weight: 800; gap: 0.35rem; letter-spacing: 0.06em; text-transform: uppercase; }
.filter-bar select { background: var(--paper); border: 1px solid var(--line); border-radius: 8px; min-height: 44px; padding: 0.55rem; }
.package-grid { display: grid; gap: clamp(1rem, 2.2vw, 1.7rem); grid-template-columns: repeat(6, minmax(0, 1fr)); }
.package-grid > .package-list-card { grid-column: span 2; min-width: 0; }
.package-grid > .package-list-card--row-single { grid-column: 1 / -1; }
.package-grid > .package-list-card--row-pair { grid-column: span 3; }
.package-grid > .package-list-card--row-single .card-media { aspect-ratio: 2.1 / 1; }
.package-grid > .package-list-card--row-pair .card-media { aspect-ratio: 1.55 / 1; }
.package-grid > .package-grid__cta { grid-column: 1 / -1; }
.package-list-card { display: flex; flex-direction: column; position: relative; }
.package-list-card .card-content { display: flex; flex: 1; flex-direction: column; }
.package-list-card .card-footer { margin-top: auto; }
.package-list-card__link { inset: 0; position: absolute; z-index: 2; }
.package-list-card .card-actions { position: relative; z-index: 3; }
.package-list-card:focus-within { outline: 3px solid var(--blue); outline-offset: 4px; }
.package-card-media { display: block; isolation: isolate; position: relative; }
.package-card-media::after { background: linear-gradient(180deg, rgba(6, 9, 10, 0.02) 28%, rgba(6, 9, 10, 0.2) 52%, rgba(6, 9, 10, 0.9) 100%); content: ""; inset: 0; opacity: 0.94; pointer-events: none; position: absolute; transition: opacity 380ms ease; z-index: 0; }
.package-card-media img { transition-duration: 380ms; }
.package-card-media__label { bottom: 0; color: var(--paper); display: grid; gap: 0.28rem; left: 0; padding: clamp(1rem, 2vw, 1.5rem); pointer-events: none; position: absolute; right: 0; z-index: 1; }
.package-card-media__eyebrow { color: rgba(255, 255, 255, 0.78); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; line-height: 1.4; text-transform: uppercase; }
.package-card-media__title { color: var(--paper); font-size: clamp(1.2rem, 1.8vw, 1.62rem); font-weight: 700; letter-spacing: -0.035em; line-height: 1.08; max-width: 22ch; }
.package-card-media__cue { color: rgba(255, 255, 255, 0.88); font-size: 0.74rem; font-weight: 700; margin-top: 0.15rem; }
@media (hover: hover) and (pointer: fine) {
  .package-list-card:hover .card-media img { transform: scale(1.035); }
  .package-list-card:hover .package-card-media::after { opacity: 1; }
}
.destination-grid, .story-grid { display: grid; gap: clamp(1rem, 2.1vw, 1.6rem); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.destination-grid .card { display: flex; flex-direction: column; }
.destination-grid .card-content { flex: 1; }
.destination-card-media { display: block; isolation: isolate; position: relative; }
.destination-grid .destination-card-media { aspect-ratio: 1.18 / 1; }
.destination-card-media::after { background: linear-gradient(180deg, rgba(6, 9, 10, 0.02) 24%, rgba(6, 9, 10, 0.24) 52%, rgba(6, 9, 10, 0.9) 100%); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: 0; }
.destination-card-media__label { bottom: 0; color: var(--paper); display: grid; gap: 0.25rem; left: 0; padding: clamp(1rem, 2vw, 1.45rem); pointer-events: none; position: absolute; right: 0; z-index: 1; }
.destination-card-media__eyebrow { color: rgba(255, 255, 255, 0.78); font-size: 0.66rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.destination-card-media__title { color: var(--paper); font-size: clamp(1.65rem, 3vw, 2.45rem); letter-spacing: -0.045em; line-height: 1; }
.destination-card-media__cue { color: rgba(255, 255, 255, 0.88); font-size: 0.74rem; font-weight: 700; margin-top: 0.25rem; }
.destination-card-media:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.detail-layout { align-items: start; display: grid; gap: clamp(2rem, 5vw, 5rem); grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); }
.detail-content { min-width: 0; }
.detail-layout--single { grid-template-columns: minmax(0, 1fr); }
.detail-layout--single .detail-content { margin-inline: auto; max-width: 1080px; width: 100%; }
.contact-layout { display: grid; gap: clamp(2.5rem, 6vw, 5rem); }
.contact-details,
.contact-form-panel { margin-inline: auto; max-width: 1080px; width: 100%; }
.contact-details h2 { max-width: 18ch; }
.contact-quick-facts { margin: 0; }
.contact-quick-facts div { min-height: 108px; }
.contact-details .notice { margin: 1.5rem 0 0; }
.detail-content > section { border-bottom: 1px solid var(--line); padding: 3rem 0; }
.detail-content > section:first-child { padding-top: 0; }
.detail-content > .package-faq-section,
.detail-content > .destination-faq-section { border-bottom: 0; padding-bottom: 0; }
.detail-content h2 { font-size: clamp(2rem, 4vw, 3.25rem); }
.quick-facts { display: grid; gap: 1px; grid-template-columns: repeat(2, 1fr); overflow: hidden; }
.quick-facts div { background: var(--paper); border-bottom: 1px solid var(--line); padding: 1rem; }
.quick-facts dt { color: var(--muted); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.quick-facts dd { margin: 0.3rem 0 0; }
.experience-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.experience-card { background: var(--paper); border: 1px solid var(--line); min-height: 190px; padding: 1.25rem; }
.experience-card h3 { font-size: 1.1rem; margin: 0.55rem 0; }
.experience-card p:last-child { color: var(--muted); font-size: 0.9rem; margin: 0; }
.practical-notes { border-top: 1px solid var(--line); margin: 0; }
.practical-notes > div { border-bottom: 1px solid var(--line); display: grid; gap: 1rem; grid-template-columns: minmax(125px, 0.42fr) 1fr; padding: 1rem 0; }
.practical-notes dt { font-size: 0.82rem; font-weight: 800; }
.practical-notes dd { color: var(--muted); margin: 0; }
.coordination-strip { display: grid; gap: clamp(2rem, 5vw, 4rem); grid-template-columns: minmax(0, 0.65fr) minmax(0, 1.35fr); }
.coordination-strip h2 { margin-bottom: 0; }
.coordination-comparison { display: grid; gap: 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.coordination-comparison > div { background: var(--paper); border: 1px solid var(--line); padding: 1.2rem; }
.coordination-comparison p { color: var(--muted); font-size: 0.88rem; margin: 0.7rem 0 0; }
.list-columns { columns: 2; gap: 2.5rem; padding-left: 1.15rem; }
.list-columns li { break-inside: avoid; margin-bottom: 0.55rem; }
.inclusion-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.inclusion-grid > div { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 1.25rem; }
.inclusion-grid h3 { font-size: 1.2rem; margin-bottom: 0.7rem; }
.gallery-grid { display: grid; gap: 0.8rem; grid-template-columns: 1.25fr 0.75fr; }
.gallery-grid img { border-radius: 13px; height: 100%; min-height: 200px; object-fit: cover; width: 100%; }
.gallery-grid figure { margin: 0; }
.article-meta { color: var(--muted); display: flex; flex-wrap: wrap; font-size: 0.82rem; gap: 0.5rem 1rem; }
.article-body { font-size: 1.06rem; }
.article-body h2 { margin-top: 3rem; }
.article-body h3 { margin-top: 2rem; }
.legal-toc { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; margin-bottom: 2rem; padding: 1.2rem; }
.legal-toc ol { margin-bottom: 0; }
.thank-you { min-height: 62vh; display: grid; place-items: center; text-align: center; }
.thank-you .form-card { margin-inline: auto; max-width: 690px; }
.status-code { color: var(--blue); font-size: clamp(5rem, 16vw, 11rem); font-weight: 700; letter-spacing: -0.1em; line-height: 0.8; margin-bottom: 1.3rem; }

/* About page */
.about-hero { background: var(--paper); border-bottom: 1px solid var(--line); overflow: hidden; padding: clamp(3.2rem, 6vw, 6rem) 0; }
.about-hero__grid { align-items: center; display: grid; gap: clamp(2.5rem, 6vw, 7rem); grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr); }
.about-hero__copy { max-width: 720px; }
.about-hero__copy .breadcrumbs { margin-bottom: clamp(2rem, 4vw, 3.2rem); }
.about-hero__copy h1 { font-size: clamp(3.2rem, 6vw, 5.35rem); margin: 0.45rem 0 1.25rem; }
.about-hero__copy .intro { max-width: 59ch; }
.about-hero__copy .button-row { margin-top: 1.8rem; }
.about-hero__scope { border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 0.7rem 1.6rem; list-style: none; margin: 2rem 0 0; padding: 1.2rem 0 0; }
.about-hero__scope li { align-items: center; color: var(--muted); display: flex; font-size: 0.76rem; font-weight: 800; gap: 0.48rem; letter-spacing: 0.04em; text-transform: uppercase; }
.about-hero__scope li::before { background: var(--orange); border-radius: 50%; content: ""; height: 7px; width: 7px; }
.about-hero__visual { min-height: 570px; position: relative; }
.about-hero__image { background: var(--mist); border-radius: var(--radius-media); margin: 0; overflow: hidden; position: absolute; }
.about-hero__image img { height: 100%; object-fit: cover; width: 100%; }
.about-hero__image--primary { height: 88%; left: 0; top: 0; width: 68%; }
.about-hero__image--secondary { bottom: 0; height: 54%; right: 0; width: 43%; }
.about-hero__caption { background: var(--ink); bottom: 0; color: rgba(255, 255, 255, 0.7); font-size: 0.76rem; left: 1.3rem; line-height: 1.5; margin: 0; max-width: 265px; padding: 1rem 1.15rem; position: absolute; z-index: 2; }
.about-hero__caption span { color: var(--paper); display: block; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.09em; margin-bottom: 0.25rem; text-transform: uppercase; }
.about-intro__grid { align-items: start; display: grid; gap: clamp(2rem, 7vw, 8rem); grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
.about-intro__grid h2 { margin-bottom: 0; }
.about-intro__copy { color: #414141; font-size: clamp(1.02rem, 1.45vw, 1.18rem); max-width: 62ch; }
.about-intro__copy p:last-child { margin-bottom: 0; }
.about-pillars { display: grid; gap: 1px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(3rem, 7vw, 6rem); }
.about-pillars article { border-left: 1px solid var(--line); padding: 1.4rem clamp(1rem, 2.2vw, 1.8rem); }
.about-pillars article:first-child { border-left: 0; padding-left: 0; }
.about-pillars span { color: var(--blue); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.1em; }
.about-pillars h3 { font-size: clamp(1.3rem, 2vw, 1.7rem); margin: 0.75rem 0 0.55rem; }
.about-pillars p { color: var(--muted); font-size: 0.9rem; margin: 0; }
.about-services__grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.about-services__grid article { background: var(--ivory); border: 1px solid var(--line); border-radius: var(--radius-card); min-height: 235px; padding: clamp(1.4rem, 3vw, 2.25rem); }
.about-services__grid article > span { color: var(--blue); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.about-services__grid h3 { font-size: clamp(1.65rem, 2.8vw, 2.35rem); margin: 1.8rem 0 0.7rem; }
.about-services__grid p { color: var(--muted); margin: 0; max-width: 48ch; }
.about-process__heading { display: grid; gap: 2rem; grid-template-columns: minmax(0, 0.35fr) minmax(0, 0.65fr); }
.about-process__heading h2 { color: var(--paper); margin: 0; max-width: 760px; }
.about-process__steps { display: grid; gap: 0 2.4rem; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: clamp(3rem, 6vw, 5.5rem) 0 0; padding: 0; }
.about-process__steps li { border-top: 1px solid rgba(255, 255, 255, 0.2); display: grid; gap: 1rem; grid-template-columns: 2.25rem minmax(0, 1fr); padding: 1.6rem 0 2.2rem; }
.about-process__steps li > span { color: rgba(255, 255, 255, 0.48); font-size: 0.72rem; font-weight: 800; }
.about-process__steps h3 { color: var(--paper); font-size: clamp(1.4rem, 2vw, 1.8rem); margin-bottom: 0.55rem; }
.about-process__steps p { color: rgba(255, 255, 255, 0.68); margin: 0; }
.about-trust__grid { align-items: start; display: grid; gap: clamp(3rem, 8vw, 9rem); grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
.about-trust__grid h2 { max-width: 720px; }
.about-trust__facts { border-top: 1px solid var(--line); margin: 0; }
.about-trust__facts > div { border-bottom: 1px solid var(--line); display: grid; gap: 1rem; grid-template-columns: minmax(115px, 0.35fr) minmax(0, 0.65fr); padding: 1.25rem 0; }
.about-trust__facts dt { font-size: 0.78rem; font-weight: 800; }
.about-trust__facts dd { color: var(--muted); margin: 0; }
.about-contact { padding-top: 0; }
.about-contact__card { align-items: center; background: var(--blue-deep); border-radius: var(--radius-media); color: var(--paper); display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr) auto; padding: clamp(1.8rem, 5vw, 4rem); }
.about-contact__card h2 { color: var(--paper); margin-bottom: 0.65rem; }
.about-contact__card p:not(.eyebrow) { color: rgba(255, 255, 255, 0.72); margin: 0; max-width: 58ch; }
.about-contact__actions { align-items: flex-start; display: flex; flex-direction: column; gap: 0.55rem; }
.about-contact__actions > a:not(.button) { color: rgba(255, 255, 255, 0.84); font-size: 0.85rem; }

@media (max-width: 1023px) {
  .about-hero__grid { gap: 2.5rem; grid-template-columns: minmax(0, 1fr) minmax(340px, 0.8fr); }
  .about-hero__visual { min-height: 490px; }
  .about-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-pillars article:nth-child(3) { border-left: 0; padding-left: 0; }
}

@media (max-width: 767px) {
  .about-hero { padding: 2.6rem 0 4rem; }
  .about-hero__grid, .about-intro__grid, .about-process__heading, .about-trust__grid, .about-contact__card { grid-template-columns: 1fr; }
  .about-hero__copy .breadcrumbs { margin-bottom: 1.8rem; }
  .about-hero__copy h1 { font-size: clamp(2.75rem, 13vw, 3.55rem); }
  .about-hero__copy .button-row { display: grid; grid-template-columns: 1fr; }
  .about-hero__copy .button { width: 100%; }
  .about-hero__scope { align-items: flex-start; flex-direction: column; }
  .about-hero__visual { min-height: 390px; }
  .about-hero__image--primary { height: 84%; width: 72%; }
  .about-hero__image--secondary { height: 51%; width: 45%; }
  .about-hero__caption { left: 0.8rem; max-width: 230px; padding: 0.8rem 0.9rem; }
  .about-pillars, .about-services__grid, .about-process__steps { grid-template-columns: 1fr; }
  .about-pillars { border-top: 1px solid var(--line); }
  .about-pillars article, .about-pillars article:first-child, .about-pillars article:nth-child(3) { border-bottom: 1px solid var(--line); border-left: 0; padding: 1.25rem 0; }
  .about-services .section-heading--split { align-items: start; grid-template-columns: 1fr; }
  .about-services__grid article { min-height: 210px; }
  .about-process__steps { gap: 0; }
  .about-trust__facts > div { gap: 0.35rem; grid-template-columns: 1fr; }
  .about-contact__actions { width: 100%; }
  .about-contact__actions .button { width: 100%; }
}
