:root{--paper:#f5f1eb;--ink:#24211e;--gold:#a58a64}

/* Mobile keeps the full vertical composition. Desktop gets its own focal point. */
@media(min-width:760px){
  .hero{height:100vh;min-height:680px;max-height:none}
  .hero>img{object-position:50% 0!important}
}

.intro h2{font-size:clamp(30px,8vw,48px);line-height:1.52}
.intro>p{font-family:"Songti SC","STSong",serif;letter-spacing:.055em}
.vow{margin-top:20px!important;color:#8a7a66!important;font-size:14px!important}

.mountain-gallery{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mountain-gallery>figure{margin:0;aspect-ratio:3/4;overflow:hidden;background:#ded8cf}
.mountain-gallery>figure.wide{grid-column:1/-1;aspect-ratio:4/5}
.mountain-gallery>figure img{display:block;width:100%;height:100%;object-fit:cover}
.mountain-gallery>figure:first-child img{object-position:center 38%}

.mountain-carousel{position:relative;grid-column:1/-1;overflow:hidden;background:#191714}
.mountain-carousel__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.mountain-carousel__track::-webkit-scrollbar{display:none}
.mountain-carousel__slide{flex:0 0 100%;height:min(72svh,720px);margin:0;scroll-snap-align:center}
.mountain-carousel__slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 36%}
.mountain-carousel__slide:nth-child(2) img{object-position:center 48%}
.mountain-carousel__dots{position:absolute;left:50%;bottom:16px;display:flex;gap:8px;transform:translateX(-50%);padding:8px 10px;border-radius:30px;background:rgba(20,18,15,.26);backdrop-filter:blur(8px)}
.mountain-carousel__dot{width:6px;height:6px;padding:0;border:0;border-radius:6px;background:rgba(255,255,255,.55);transition:width .25s ease,background .25s ease}
.mountain-carousel__dot.active{width:22px;background:#fff}

.story-head p{font-family:"Songti SC","STSong",serif;line-height:1.8;letter-spacing:.06em}
.story-head h2{letter-spacing:.08em}
.story-quote{grid-column:1/-1;padding:28px 18px 24px;text-align:center;color:#746c62;font:400 14px/2 "Songti SC","STSong",serif;letter-spacing:.08em}

.music{display:flex;align-items:center;min-width:42px;min-height:42px;justify-content:center;transition:background .3s ease}
.music b{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .35s ease,opacity .35s ease,margin .35s ease}
.music:not(.playing) b{max-width:90px;margin-left:2px;opacity:1}
.music.playing{background:rgba(20,18,15,.38)}

@media(max-width:759px){
  .story.section{padding-left:16px;padding-right:16px}
  .mountain-gallery{grid-template-columns:1fr;gap:12px}
  .mountain-gallery>figure,.mountain-gallery>figure.wide{grid-column:auto;aspect-ratio:3/4}
  .mountain-carousel{grid-column:auto;margin-left:-16px;margin-right:-16px}
  .mountain-carousel__slide{height:min(78svh,760px)}
}

@media(min-width:760px){
  .mountain-gallery{gap:14px}
  .mountain-carousel{margin-top:6px}
  .mountain-carousel__slide{height:min(84vh,900px)}
  .mountain-carousel__slide img{object-fit:contain;background:#171512}
}

@media(prefers-reduced-motion:reduce){
  .hero>img{animation:none}
  .mountain-carousel__track{scroll-behavior:auto!important}
}

.portrait-feature{aspect-ratio:2/3!important}
.portrait-feature img{object-position:center 28%}

.scroll-reveal{opacity:0;transform:translate3d(0,30px,0);transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform 1s cubic-bezier(.22,.61,.36,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.scroll-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
.scroll-reveal--soft{transform:translate3d(0,18px,0);transition-duration:1.15s}
@media(prefers-reduced-motion:reduce){.scroll-reveal,.scroll-reveal--soft{opacity:1;transform:none;transition:none}}
