.nepal-hero > img { object-position: center 48%; }
.nepal-hero::after { background: linear-gradient(180deg, rgba(9, 10, 8, .27), rgba(9, 10, 8, .05) 35%, rgba(9, 10, 8, .82)); }
.nepal-hero .section-label { color: #fff; text-shadow: 0 1px 8px rgba(0, 0, 0, .8); }
.nepal-hero p { max-width: 48ch; }

.nepal-place { padding-bottom: var(--section-space-roomy); }
.nepal-place h2 { max-width: 13ch; }
.nepal-place .intro-copy { max-width: 54ch; }
.nepal-route-sequence { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: clamp(9px, 1.4vw, 22px); margin-top: var(--section-space-tight); }
.nepal-route-sequence figure { min-width: 0; margin: 0; }
.nepal-route-sequence img { height: clamp(350px, 38vw, 580px); object-fit: cover; }
.nepal-route-sequence figure:nth-child(2) img { object-position: 42% center; }
.nepal-route-sequence figure:nth-child(3) img { object-position: 52% center; }
.nepal-route-sequence figcaption { display: flex; justify-content: space-between; gap: 10px; padding-top: 12px; border-top: 1px solid var(--line-dark); margin-top: 12px; color: rgba(23, 23, 23, .58); font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }

.nepal-explore { padding-bottom: var(--section-space-roomy); }
.nepal-explore-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .95fr); align-items: start; gap: clamp(45px, 7vw, 120px); margin-top: var(--section-space-tight); }
.nepal-theme-list { border-bottom: 1px solid var(--line-light); }
.nepal-theme { display: grid; grid-template-columns: 34px minmax(0, 1fr) 25px; align-items: start; gap: clamp(15px, 2vw, 27px); width: 100%; margin: 0; padding: clamp(24px, 3vw, 40px) 0; border: 0; border-top: 1px solid var(--line-light); background: none; color: var(--bone); text-align: left; cursor: pointer; }
.nepal-theme-number, .nepal-theme-arrow { padding-top: 6px; color: var(--acid); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.nepal-theme-arrow { justify-self: end; font-size: 19px; line-height: 1; transition: transform .25s ease; }
.nepal-theme:hover .nepal-theme-arrow, .nepal-theme:focus-visible .nepal-theme-arrow { transform: translate(3px, -3px); }
.nepal-theme-copy { display: flex; flex-direction: column; align-items: start; gap: 13px; }
.nepal-theme-copy strong { font-family: var(--black); font-size: clamp(31px, 3.8vw, 58px); line-height: .9; letter-spacing: -.055em; text-transform: uppercase; transition: color .25s ease; }
.nepal-theme-copy > span { max-width: 37ch; color: rgba(243, 240, 232, .58); font-size: 13px; line-height: 1.5; }
.nepal-theme.is-active .nepal-theme-copy strong, .nepal-theme:hover .nepal-theme-copy strong, .nepal-theme:focus-visible .nepal-theme-copy strong { color: var(--acid); }
.nepal-theme:focus-visible { outline: 2px solid var(--acid); outline-offset: -2px; }
.nepal-theme > img { display: none; }
.nepal-theme-text { cursor: default; }
.nepal-theme-text .nepal-theme-copy strong { color: var(--bone); }
.nepal-theme-view { position: sticky; top: 90px; height: min(79svh, 770px); min-height: 520px; overflow: hidden; background: #272725; }
.nepal-theme-view > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .55s ease; }
.nepal-theme-view > img.is-active { opacity: 1; }
.nepal-theme-view::after { content: ''; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(10, 10, 8, .6)); pointer-events: none; }
.nepal-theme-view-caption { position: absolute; z-index: 1; right: 22px; bottom: 20px; left: 22px; display: flex; justify-content: space-between; gap: 20px; color: var(--bone); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.nepal-closer { padding-bottom: var(--section-space-roomy); }
.nepal-closer-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; gap: clamp(60px, 9vw, 160px); margin-top: var(--section-space-tight); }
.nepal-closer h2 { max-width: 12ch; margin: 0; }
.nepal-closer .intro-copy { max-width: 44ch; }
.nepal-closer-images { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .62fr); align-items: end; gap: clamp(12px, 2vw, 28px); }
.nepal-closer-images img:first-child { height: clamp(400px, 44vw, 640px); object-fit: cover; }
.nepal-closer-images img:last-child { height: clamp(270px, 30vw, 440px); object-fit: cover; }
.nepal-cta-links { display: flex; flex-direction: column; align-items: start; gap: 28px; }
.nepal-cta .contact-big { width: min(100%, 490px); }
.nepal-final-image { height: clamp(570px, 90svh, 920px); overflow: hidden; background: var(--ink-deep); }
.nepal-final-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }

.nepal-gallery-dialog[open] { display: block; }
.nepal-gallery-dialog { width: min(1300px, calc(100vw - 40px)); max-height: min(92svh, 1100px); padding: 0; border: 1px solid var(--line-light); background: var(--ink); color: var(--bone); overflow: auto; }
.nepal-gallery-dialog::backdrop { background: rgba(7, 7, 6, .88); }
.nepal-gallery-inner { padding: clamp(20px, 4vw, 55px); }
.nepal-gallery-inner header { position: sticky; z-index: 2; top: 0; display: flex; justify-content: space-between; align-items: start; gap: 30px; margin: calc(-1 * clamp(20px, 4vw, 55px)) calc(-1 * clamp(20px, 4vw, 55px)) 40px; padding: clamp(20px, 4vw, 55px); background: rgba(23, 23, 23, .96); border-bottom: 1px solid var(--line-light); }
.nepal-gallery-inner h2 { margin: 18px 0 0; font-family: var(--black); font-size: clamp(42px, 6vw, 82px); line-height: .86; letter-spacing: -.06em; text-transform: uppercase; }
.nepal-gallery-inner header button { flex: none; display: flex; align-items: center; gap: 16px; padding: 10px 0; border: 0; background: transparent; color: var(--bone); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.nepal-gallery-inner header button span { font-size: 28px; line-height: .5; font-weight: 400; }
.nepal-gallery-images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: clamp(24px, 3vw, 45px); }
.nepal-gallery-images figure { min-width: 0; margin: 0; }
.nepal-gallery-images img { width: 100%; max-height: 720px; object-fit: contain; background: #282826; }
.nepal-gallery-images figcaption { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line-light); color: rgba(243, 240, 232, .62); font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
body.nepal-gallery-open { overflow: hidden; }

@media (max-width: 900px) {
  .nepal-explore-grid { grid-template-columns: 1fr; }
  .nepal-theme-view { display: none; }
  .nepal-theme { grid-template-columns: 28px minmax(0, 1fr) 22px; }
  .nepal-theme > img { display: block; grid-column: 2 / 4; width: 100%; height: clamp(180px, 35vw, 320px); margin-top: 7px; object-fit: cover; }
  .nepal-theme-copy strong { font-size: clamp(34px, 5.5vw, 52px); }
  .nepal-closer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .nepal-hero > img { object-position: 57% center; }
  .nepal-hero h1 { font-size: clamp(51px, 13.2vw, 78px); }
  .nepal-hero p { max-width: 34ch; }
  .nepal-route-sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 10px; margin-top: 65px; }
  .nepal-route-sequence img { height: clamp(230px, 65vw, 320px); }
  .nepal-route-sequence figcaption { display: block; line-height: 1.5; }
  .nepal-route-sequence figcaption span:last-child { display: none; }
  .nepal-explore-grid { margin-top: 55px; }
  .nepal-theme { gap: 12px; padding: 27px 0; }
  .nepal-theme-copy strong { font-size: clamp(30px, 8vw, 42px); }
  .nepal-theme-copy > span { font-size: 13px; }
  .nepal-theme > img { height: 190px; }
  .nepal-closer-images { gap: 11px; }
  .nepal-closer-images img:first-child { height: 355px; }
  .nepal-closer-images img:last-child { height: 265px; }
  .nepal-gallery-dialog { width: 100vw; max-width: none; max-height: none; height: 100svh; margin: 0; border: 0; }
  .nepal-gallery-inner header { gap: 7px; margin-bottom: 27px; }
  .nepal-gallery-inner h2 { font-size: clamp(35px, 10vw, 48px); }
  .nepal-gallery-inner header button { gap: 0; font-size: 0; }
  .nepal-gallery-inner header button span { font-size: 32px; }
  .nepal-gallery-images { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .nepal-theme-view > img, .nepal-theme-arrow { transition: none; }
}
