/* A photographic journey, with a stable question field and explicit controls. */
.hero-shell { background: #f6f3eb; }
.hero-intro { padding-top: 20px; }
.hero h1 { font-size: clamp(72px, 8.9vw, 130px); margin-top: 12px; }
.hero-eyebrow { color: #73745f; }
.india-carousel { margin-top: 73px; }
.india-carousel .photo-stage {
  width: min(1200px, calc(100% - 64px));
  height: clamp(410px, 37vw, 530px);
  margin: 0 auto;
  border-radius: 24px;
  animation: none;
}
.carousel-viewport { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; touch-action: pan-y; background: #20392f; }
.region-slide { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1.1s ease; pointer-events: none; }
.region-slide.is-active { opacity: 1; z-index: 1; }
.region-slide > img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.025); transition: transform 8s ease-out; }
.region-slide.is-active > img { transform: scale(1); }
.region-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, #081e1bcf 0%, #102f253d 38%, transparent 65%); }
.carousel-controls { position: absolute; z-index: 3; right: 32px; bottom: 33px; display: flex; align-items: center; gap: 7px; color: white; }
.carousel-controls button { background: #ffffff16; border: 1px solid #ffffff60; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; backdrop-filter: blur(12px); color: white; }
.carousel-controls button:hover { background: #fff9df; color: #1e3e31; }
.carousel-controls button:focus-visible { outline-color: #fff9df; }
.carousel-controls svg { width: 18px; height: 18px; }
.slide-count { font-size: 12px; letter-spacing: .1em; margin-right: 14px; font-variant-numeric: tabular-nums; }
.slide-count b { font-weight: 500; }
.slide-count span { opacity: .6; }
.play-icon, .is-paused .pause-icon { display: none; }
.is-paused .play-icon { display: block; }
.suggestions { padding-top: 22px; padding-bottom: 19px; }
.suggestions button { font-size: 13px; }
.hero { padding-bottom: 29px; }
.hero-footnote { font-size: 12px; }
.principles p { font-size: 14px; }
.story-link { font-size: 13px; }
.story-category { font-size: 12px; }
.concept-bar { font-size: 12px; }
@media (max-width: 1050px) {
}
@media (max-width: 720px) {
  .concept-bar { font-size: 10px; }
  .hero-intro { padding-top: 26px; }
  .hero h1 { font-size: clamp(58px, 12vw, 84px); margin-top: 16px; }
  .hero-description { font-size: 16px; max-width: 300px; }
  .india-carousel { margin-top: 65px; }
  .india-carousel .photo-stage { width: calc(100% - 24px); height: 410px; border-radius: 19px; }
  .ask-form input { font-size: 16px; }
  .ask-form { padding-left: 15px; gap: 8px; }
  .ask-spark { display: none; }
  .carousel-controls { bottom: 16px; right: 16px; }
  .carousel-controls button { width: 38px; height: 38px; }
  .slide-count { margin-right: auto; }
  .suggestions { padding: 19px 12px 15px; gap: 7px; }
  .suggestions button { font-size: 12px; padding: 9px 11px; }
  .hero-footnote { font-size: 10px; }
  .hero { padding-bottom: 24px; }
  .story-link { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .region-slide, .region-slide > img { transition: none; transform: none; }
}
