/* Calm motion, readable travel guides and an opening welcome. */
html{scroll-behavior:smooth}
.arrival-loader{display:none}
.arrival-active .arrival-loader{display:grid;place-items:center;position:fixed;inset:0;z-index:9999;pointer-events:none;overflow:hidden}
.arrival-door{position:absolute;inset:0 50% 0 0;background:#faf4e8;border-right:1px solid #d7b880;transform-origin:left;box-shadow:inset -24px 0 60px #a0692c08}
.arrival-door.right{inset:0 0 0 50%;border-right:0;border-left:1px solid #d7b880;transform-origin:right}
.arrival-door::after{content:"";position:absolute;inset:6vh 3vw;border:1px solid #c69c5742;border-radius:50% 50% 5px 5px}
.arrival-mark{position:relative;z-index:1;text-align:center;color:#702724;padding:24px;max-width:90vw}
.arrival-mark img{width:125px;height:125px;object-fit:contain;filter:drop-shadow(0 8px 18px #aa79352b)}
.arrival-mark p{font-family:var(--serif,Georgia,serif);font-size:30px;margin-top:12px}
.arrival-mark small{display:block;margin-top:10px;letter-spacing:3px;font-size:10px;text-transform:uppercase}
.arrival-halo{position:absolute;inset:-18px;aspect-ratio:1;border:1px solid #c4934c44;border-radius:50%;animation:arrival-breathe 1.8s ease-in-out infinite alternate}
.arrival-mark>div{position:relative;width:125px;margin:auto}
.arrival-active.arrival-opening .arrival-door{transform:translateX(-105%);transition:transform 1.05s cubic-bezier(.22,1,.36,1)}
.arrival-active.arrival-opening .arrival-door.right{transform:translateX(105%)}
.arrival-active.arrival-opening .arrival-mark{opacity:0;transform:translateY(-12px);transition:opacity .4s,transform .6s}
@keyframes arrival-breathe{to{transform:scale(1.08);opacity:.4}}

/* The diya positions are calculated from the very same curve as the ribbon. */
.hero .hero-ribbon{top:auto;bottom:62px;height:154px;z-index:1}
.hero .hero-ribbon>svg{height:100%;transform:none;overflow:visible}
.hero .hero-ribbon .ribbon-main{stroke-width:52}
.hero .hero-ribbon .ribbon-shadow{stroke-width:61}
.hero .hero-ribbon .ribbon-highlight{transform:translateY(-16px)}
.hero .hero-ribbon .ribbon-diya{animation:none;filter:drop-shadow(0 2px 2px #fff4d2)}
.hero .hero-ribbon .diya-bowl{fill:#e9ab52;stroke:#985025;stroke-width:1.4}
.hero .hero-ribbon .diya-flame{fill:#ffedaa;stroke:#a75b2b;stroke-width:1.3}
.hero .hero-ribbon .diya-rim{fill:none;stroke:#fff0c6;stroke-width:2}
.hero .hero-lotus{opacity:.48;filter:drop-shadow(0 0 5px #d9a64d66);animation:lotus-drift 17s ease-in-out infinite}
@keyframes lotus-drift{0%,100%{transform:translate(0,0) rotate(-2deg);filter:drop-shadow(0 0 4px #d9a64d44)}27%{transform:translate(4px,-5px) rotate(1deg)}63%{transform:translate(-3px,-2px) rotate(3deg);filter:drop-shadow(0 0 9px #d9a64d77)}82%{transform:translate(2px,3px) rotate(-1deg)}}
.temple-interlude{position:relative;isolation:isolate;overflow:hidden;min-height:360px;display:grid;place-items:center;padding:95px 24px;text-align:center;background:#36261f;color:#fff8eb}
.temple-interlude::before{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/destinations/ram-mandir-extra-1-960.webp') center 43%/cover no-repeat}
.temple-interlude::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#261b17d6,#422b20a1,#261b17d6)}
.temple-interlude .eyebrow{color:#f1cf93;justify-content:center}
.temple-interlude h2{color:#fff9ed;font-size:clamp(32px,4vw,54px);line-height:1.2;max-width:760px;margin:20px auto}
.temple-interlude p:not(.eyebrow){max-width:580px;margin:0 auto 24px;line-height:1.85;font-size:15px;color:#f4e8d6}
.temple-interlude .button{background:#fbf2df;color:#742c24;border-color:#e0ba76;font-size:13px}
.temple-wave{position:absolute;left:0;width:100%;height:42px;fill:var(--cream,#faf5ec);pointer-events:none}
.temple-wave.top{top:-1px}.temple-wave.bottom{bottom:-1px;transform:rotate(180deg)}

.guest-reviews{overflow:hidden;padding-block:70px;background:linear-gradient(180deg,#f7efdf70,transparent)}
.guest-reviews .section-heading{align-items:end}
.guest-reviews .section-heading>p{max-width:410px;font-size:14px;line-height:1.9;color:#786857}
.review-window{overflow:auto;scrollbar-width:thin;padding:12px 0 22px}
.review-track{display:flex;width:max-content}
.review-group{display:flex;gap:22px;padding-right:22px;flex-shrink:0}
.review-card{display:flex;flex-direction:column;align-items:flex-start;width:320px;min-height:230px;padding:28px;border:1px solid #d5b98970;background:#fffcf5;border-radius:28px 4px 28px 4px;box-shadow:0 8px 24px #70412109}
.review-card:nth-child(2n){border-radius:4px 28px 4px 28px;background:#fbf3e5}
.review-symbol{font-family:var(--serif,Georgia,serif);font-size:38px;color:#bd9658;line-height:1}
.review-card h3{font-size:24px;line-height:1.35;margin:12px 0}
.review-card p{color:#7b6a5d;font-size:13px;line-height:1.8;margin-bottom:20px}
.review-card a{margin-top:auto;min-height:44px;display:inline-flex;align-items:center;gap:15px;font-size:12px;border-bottom:1px solid #bc965c}
.reviews-running .review-window{overflow:hidden}
.reviews-running .review-track{animation:review-drift 65s linear infinite;will-change:transform}
.review-window:hover .review-track,.review-window:focus-within .review-track,.reviews-offscreen .review-track{animation-play-state:paused}
@keyframes review-drift{to{transform:translateX(-50%)}}

.stay-guides{padding-block:65px}
.stay-guide-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.stay-guide-link{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border:1px solid var(--line,#dccbb3);border-radius:8px;font-size:14px;line-height:1.6;background:#fffaf37a;transition:background .25s,transform .25s}
.stay-guide-link:hover{background:#fffaf3;transform:translateY(-2px)}
.stay-guide-link span{font-size:20px;color:#ac753b}
.guide-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:12px;margin-bottom:28px;color:#8b6b4b}
.guide-breadcrumbs a{min-height:32px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.guide-breadcrumbs span{align-self:center}
.travel-intro{padding-block:48px 34px;max-width:1280px}
.travel-intro h1{font-size:clamp(34px,4.2vw,60px);line-height:1.16;max-width:900px;letter-spacing:-1.3px}
.travel-intro>p:not(.eyebrow){font-size:17px;line-height:1.85;max-width:800px;margin-top:22px;color:#726356}
.guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:55px;align-items:start;padding-bottom:70px}
.travel-cover{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:22px 4px 22px 4px;display:block;margin-bottom:36px}
.travel-article section{padding-block:24px;border-bottom:1px solid var(--line,#dccbb3);scroll-margin-top:110px}
.travel-article h2{font-size:32px;line-height:1.3;letter-spacing:-.5px;margin-bottom:16px}
.travel-article p,.travel-article li{font-size:16px;line-height:1.9;color:#6f5f52}
.travel-article p+p{margin-top:14px}
.travel-article ul{padding-left:22px;display:grid;gap:8px;margin-top:18px}
.travel-aside{position:sticky;top:112px;padding:28px;border:1px solid #d5b989;background:#fff9ed;border-radius:4px 4px 28px 4px}
.travel-aside h2{font-size:28px;line-height:1.3}
.travel-aside p{font-size:14px;line-height:1.8;margin:15px 0;color:#766252}
.travel-aside .button{width:100%;justify-content:center;margin-top:12px;font-size:13px}
.travel-aside nav{display:grid;gap:8px;margin-top:24px}
.travel-aside nav a{padding:10px 0;font-size:13px;line-height:1.6;border-top:1px solid var(--line,#dccbb3)}
.travel-price{font-family:var(--serif,Georgia,serif);font-size:27px;color:var(--maroon,#6b1d1d)}
.travel-faq{padding:0;display:block}
.travel-related{padding-top:24px}

.sound-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-size:12px;color:#703528;border:1px solid #b9965c77;border-radius:30px;background:#fff9ef;cursor:pointer}
.sound-toggle svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6}
.sound-toggle[aria-pressed=true]{background:#f6e7c8;border-color:#b9965c}
.sound-toggle[aria-pressed=true] .sound-off{display:none}
.sound-toggle[aria-pressed=false] .sound-on{display:none}
.sound-toggle[hidden]{display:none}
.header .sound-toggle{width:44px;height:44px;min-width:44px;flex-shrink:0;padding:11px;justify-content:center}
.header .sound-toggle span{display:none}
.experience-settings{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:25px;padding-top:20px;border-top:1px solid var(--line,#dccbb3)}
.motion-preference{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:12px;color:#795f4c}
.motion-preference input{width:18px;height:18px;min-height:0;accent-color:#8b4428}
.effects-paused .review-track,.effects-paused .hero-lotus,.effects-paused .ribbon-current{animation-play-state:paused!important}
.effects-paused{scroll-behavior:auto}
.effects-paused .reveal-pending{opacity:1}
.effects-paused.page-entry-fallback main{animation:none}
.effects-paused .review-track{animation:none!important;transform:none!important}
.effects-paused .review-group[aria-hidden=true],.effects-paused .review-card[aria-hidden=true]{display:none}
.effects-paused .review-window{overflow:auto}

@media(max-width:1100px){.guide-layout{grid-template-columns:minmax(0,1fr);gap:28px}.travel-aside{position:static}.stay-guide-links{grid-template-columns:repeat(2,minmax(0,1fr))}.travel-intro{padding-top:30px}}
@media(max-width:700px){
 .hero .hero-ribbon{height:116px;bottom:72px;opacity:.86}.hero .hero-lotus{width:58px;height:55px;right:0;top:2px;opacity:.4}
 .hero .hero-location{padding-right:54px}.hero .hero-location>span{display:none}
 .temple-interlude{min-height:330px;padding:70px 22px}.temple-interlude h2{font-size:34px}.temple-interlude p:not(.eyebrow){font-size:14px}
 .guest-reviews{padding-block:42px}.review-group{gap:14px;padding-right:14px}.review-card{width:280px;min-height:230px;padding:24px}
 .stay-guides{padding-block:42px}.stay-guide-links{grid-template-columns:minmax(0,1fr)}.stay-guide-link{padding:16px 18px;font-size:14px;min-height:62px}
 .travel-intro h1{font-size:37px;letter-spacing:-.8px}.travel-intro>p:not(.eyebrow){font-size:15px}.guide-layout{padding-bottom:42px}.travel-article h2{font-size:28px}.travel-article p,.travel-article li{font-size:15px}.travel-cover{margin-bottom:12px}.travel-aside{padding:24px}
 .arrival-mark img,.arrival-mark>div{width:104px;height:104px}.arrival-mark p{font-size:26px}.arrival-mark small{letter-spacing:2px}
}

/* Let the river flow through the middle of the opening scene. */
.hero{padding-bottom:66px}
.hero .hero-ribbon{top:43%;bottom:auto;height:150px;opacity:.88}
.hero .hero-ribbon>svg{filter:drop-shadow(0 6px 8px #93633326)}
.hero .hero-ribbon .ribbon-main{stroke-width:68}
.hero .hero-ribbon .ribbon-shadow{stroke:#a36a2e38;stroke-width:82}
.hero .hero-ribbon .ribbon-current{stroke:#a46b34;opacity:.58}
.hero .hero-copy{background:radial-gradient(ellipse 62% 48% at 50% 50%,#fdf8f0f5 18%,#fdf8f0cf 47%,#fdf8f000 100%)}
@media(max-width:700px){
  .hero{padding-bottom:66px}
  .hero .hero-ribbon{top:45%;bottom:auto;height:104px;opacity:.8}
  .hero .hero-ribbon .ribbon-main{stroke-width:60}
  .hero .hero-ribbon .ribbon-shadow{stroke-width:74}
  .hero .hero-copy{background:radial-gradient(ellipse 70% 48% at 50% 50%,#fdf8f0f5 20%,#fdf8f0cf 48%,#fdf8f000 100%)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.arrival-loader{display:none!important}.hero .hero-lotus,.review-track{animation:none!important}.review-group[aria-hidden=true],.review-card[aria-hidden=true]{display:none}.reviews-running .review-window{overflow:auto}.stay-guide-link{transition:none}}
html.effects-paused{scroll-behavior:auto}

/* A little response to exploration throughout the site. */
.button:active,.round-button:active{transform:translateY(1px) scale(.97)}
.room-card .room-art img,.destination-card .destination-photos img{transition:transform .65s cubic-bezier(.22,1,.36,1)}
.room-card:hover .room-art img,.destination-card:hover .destination-photos img{transform:scale(1.035)}
.faq details[open]>p{animation:answer-arrive .4s cubic-bezier(.22,1,.36,1)}
@keyframes answer-arrive{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.room-card .room-art img,.destination-card .destination-photos img{transition:none}.faq details[open]>p{animation:none}}
.effects-paused .room-card .room-art img,.effects-paused .destination-card .destination-photos img{transition:none;transform:none}
