/* Living Rajasthan chapters: scroll-driven image puppetry, no idle animation loop. */
.home .living-chapter { --chapter-drift: 0px; --seal-turn: 0deg; position: relative; isolation: isolate; padding-block: 64px 72px; }
.home .living-chapter:before { content: ''; position: absolute; z-index: -1; pointer-events: none; inset: 0; background: url('/assets/marwar-painted-margins.webp') center/100% auto; opacity: .11; }
.living-masthead { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(0,.82fr); align-items: center; gap: 25px; margin-bottom: 28px; }
.living-title { position: relative; z-index: 2; min-width: 0; }
.living-title h2 { font-size: clamp(3rem,4.65vw,4.65rem); line-height: 1.02; color: #173f60; letter-spacing: -.025em; }
.living-title h2 em { color: #a57a36; }
.living-title > .text-link { margin-top: 22px; font-size: 1rem; }
.living-title > p { max-width: 31ch; margin-top: 23px; font-size: 1rem; }
.chapter-kicker { display: flex; gap: 14px; align-items: center; margin-bottom: 24px; }
.chapter-kicker > span:first-child { font: 400 1.55rem/1 var(--serif); color: #9a763b; }
.chapter-kicker .eyebrow { font-size: .875rem; line-height: 1.5; letter-spacing: .1em; margin: 0; }
.chapter-rule { width: 48px; height: 1px; background: #b3945b88; transform-origin: left; }
.scene-caption { display: block; color: #8a6b39; font: 500 .75rem/1.5 var(--sans); letter-spacing: .16em; text-align: center; }
.elephant-scene { position: relative; width: 100%; aspect-ratio: 1.17; max-width: 370px; margin-inline: auto; pointer-events: none; }
.elephant-halo { position: absolute; inset: 12% 20% 14%; border: 1px solid #b3945b66; border-radius: 50%; transform: rotate(var(--seal-turn,0deg)); }
.elephant-halo:after { content: ''; position: absolute; inset: 12px; border: 1px dashed #b3945b66; border-radius: 50%; }
.elephant-ground { position: absolute; left: 6%; right: 4%; bottom: 14%; height: 1px; background: linear-gradient(90deg,transparent,#b3945b99,transparent); }
.elephant-puppet { position: absolute; inset: 0; transform: translateY(var(--elephant-rise,0px)); }
.art-atlas-part { position: absolute; overflow: hidden; }
.art-atlas-part > img { position: absolute; max-width: none; object-fit: fill; }
/* Atlas 1536×1024. Body crop [24,36,1278,970]; trunk [1292,192,1496,918].
   Both use the same scale. The trunk's cuff anchor (85,26) meets head (1121,335). */
.elephant-body { width: 74%; height: 64.53%; left: 0; top: 19%; }
.elephant-body > img { width: 122.488%; height: 109.636%; left: -1.914%; top: -3.854%; }
.elephant-trunk { width: 12.04%; height: 50.13%; left: 59.72%; top: 37.85%; transform-origin: 41.667% 3.581%; transform: rotate(var(--trunk-angle,0deg)); }
.elephant-trunk > img { width: 752.941%; height: 141.047%; left: -633.333%; top: -26.446%; }
.elephant-scene .scene-caption { position: absolute; left: 0; right: 0; bottom: 4%; }
.home .royal-rooms { background: #fbf6eaf7; border-top-color: #c7b68e77; }
.home .royal-rooms:after { content: ''; position: absolute; z-index: -1; width: 90px; height: 90px; top: 47%; left: -45px; border: 1px solid #b3945b55; border-radius: 50%; }
.home .royal-rooms .editorial-tabs { gap: 18px; margin-bottom: 28px; border-bottom: 1px solid #b3945b66; }
.home .royal-rooms .editorial-tabs button { display: flex; align-items: center; gap: 12px; font-size: 1rem; min-height: 54px; padding: 8px 16px 15px 0; }
.editorial-tabs button > span { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid #b3945b66; border-radius: 50%; font-size: .75rem; color: #9a763b; }
.editorial-tabs button[aria-selected=true] > span { background: #173f60; border-color: #173f60; color: #fff5dd; }
.home .royal-rooms .editorial-panel { grid-template-columns: minmax(0,1.27fr) minmax(0,.83fr); gap: 32px; align-items: center; }
.home .royal-rooms .editorial-main { min-height: 0; height: 490px; border: 6px solid #e4d6b7; border-radius: 46% 46% 4px 4px; box-shadow: 0 22px 30px -20px #5a43295c; }
.home .royal-rooms .editorial-main > span { font-size: .875rem; background: #fbf6ea; color: #173f60; padding: 11px 17px; }
.home .royal-rooms .editorial-copy { padding-top: 10px; }
.home .royal-rooms .editorial-copy h3 { font-size: clamp(2.1rem,3vw,3rem); line-height: 1.08; margin-bottom: 20px; }
.home .royal-rooms .editorial-copy .eyebrow { font-size: .875rem; }
.home .royal-rooms .editorial-copy > p:not(.eyebrow) { font-size: 1rem; line-height: 1.8; }
.home .royal-rooms .editorial-detail { width: 95%; height: 178px; padding: 6px 6px 28px; position: relative; background: #fffbf2; border: 1px solid #b3945b80; outline: none; transform: rotate(calc(-4deg + var(--detail-turn,0deg))); margin-top: 29px; box-shadow: 0 8px 15px #6f56301a; }
.home .royal-rooms .editorial-detail img { height: 100%; }
.editorial-detail > span { position: absolute; bottom: 5px; left: 8px; right: 8px; color: #657181; font: 400 .75rem/1.4 var(--sans); text-align: center; }
.home .royal-rooms .editorial-controls { margin-top: 27px; padding-top: 17px; }
.home .living-chapter .round-control { width: 48px; height: 48px; background: transparent; }
.home .living-chapter .round-control:hover { background: #ddcba0; }
.home .wellness-preview.living-chapter { background: #163e5b; color: #f8f2e6; overflow: clip; }
.home .wellness-preview.living-chapter:before { background: url('/assets/marwar-painted-margins.webp') center/100% auto; opacity: .18; transform: translateY(var(--chapter-drift,0px)); animation: none; }
.wellness-masthead { grid-template-columns: minmax(0,1.4fr) minmax(0,.6fr); }
.home .wellness-preview .living-title h2 { color: #fff8e9; }
.home .wellness-preview .living-title h2 em { color: #dfbf80; }
.wellness-preview .chapter-kicker > span:first-child, .wellness-preview .scene-caption { color: #e0c68c; }
.home .wellness-preview .living-title > p { color: #d2dee2; }
.wellness-preview .chapter-rule { background: #e0c68c66; }
.wellness-seal { position: relative; max-width: 236px; width: 100%; aspect-ratio: 1; margin: 12px auto 22px; pointer-events: none; transform: translateY(var(--chapter-drift,0px)); }
.seal-orbit { position: absolute; inset: 0; border: 1px dashed #d8b67199; border-radius: 50%; transform: rotate(var(--seal-turn,0deg)); }
.seal-orbit:before, .seal-orbit:after { content: ''; position: absolute; border: 1px solid #d8b67155; border-radius: 50%; }
.seal-orbit:before { inset: 9px; }
.seal-orbit:after { inset: -9px; }
.seal-art { position: absolute; inset: 21px; border-radius: 50%; overflow: hidden; border: 3px solid #d4b579; }
.seal-art img { width: 100%; height: 100%; object-fit: cover; object-position: 45% 48%; }
.wellness-seal .scene-caption { position: absolute; top: calc(100% + 17px); left: -20%; right: -20%; }
.home .wellness-preview .wellness-grid { grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); grid-template-rows: repeat(2, minmax(230px,1fr)); gap: 24px; margin-top: 42px; }
.home .wellness-preview .wellness-grid > a { border: 1px solid #c0a36880; outline: none; box-shadow: none; }
.home .wellness-preview .wellness-main { border-radius: 48% 48% 3px 3px; min-height: 552px; }
.home .wellness-preview .wellness-main > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home .wellness-preview .wellness-main:after { background: linear-gradient(transparent 48%,#0e273d99 75%,#071e31ed); }
.home .wellness-preview .wellness-main > span { left: 24px; right: 24px; bottom: 25px; }
.home .wellness-preview .wellness-main strong { font-size: clamp(2.1rem,3.3vw,3.3rem); line-height: 1.03; }
.home .wellness-preview .wellness-main i { top: auto; bottom: 0; right: 0; font: 400 2rem/1 var(--serif); opacity: .65; }
.home .wellness-preview .wellness-detail { display: grid; grid-template-columns: minmax(0,.93fr) minmax(0,1.07fr); border-radius: 3px; background: #204b68; }
.home .wellness-preview .wellness-detail > img { position: static; width: 100%; height: 100%; min-height: 230px; object-fit: cover; }
.home .wellness-preview .wellness-detail:after { display: none; }
.home .wellness-preview .wellness-detail > span { position: static; align-self: center; padding: 19px 15px; }
.home .wellness-preview .wellness-grid small { font-size: .875rem; line-height: 1.6; letter-spacing: .08em; }
.home .wellness-preview .wellness-detail strong { font-size: clamp(1.7rem,2.4vw,2.4rem); line-height: 1.05; margin-top: 10px; }
.wellness-action { display: block; font-size: .875rem; line-height: 1.6; color: #e8d4aa; margin-top: 22px; border-top: 1px solid #d8b67155; padding-top: 11px; }
.home .wellness-preview .comfort-links { margin-top: 31px; gap: 0; padding-top: 16px; border-top-color: #e0c68c55; }
.home .wellness-preview .comfort-links > a { color: #f4edde; font-size: .875rem; padding: 11px 15px 11px 0; }
.home .wellness-preview .comfort-links .icon { color: #d8b671; }
.home .home-city.living-chapter { background: #f5eee0; }
.city-masthead { grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); margin-bottom: 38px; }
.village-scene { position: relative; width: 100%; aspect-ratio: 1.25; max-width: 405px; margin-inline: auto; pointer-events: none; }
.village-art { position: absolute; z-index: 1; inset: 9% -3% auto; width: 106%; max-width: none; height: 78%; object-fit: contain; transform: translate(var(--village-drift,0px),var(--chapter-drift,0px)); }
.village-orbit { position: absolute; border: 1px dashed #b3945b80; border-radius: 50%; inset: 5% 15% 17%; transform: rotate(var(--seal-turn,0deg)); }
.village-orbit:after { content: ''; position: absolute; inset: 10px; border: 1px solid #b3945b50; border-radius: 50%; }
.village-horizon { position: absolute; top: 62%; left: 1%; right: 0; height: 1px; background: linear-gradient(90deg,transparent,#b3945b77,transparent); }
.village-scene .scene-caption { position: absolute; left: 0; right: 0; bottom: 2%; }
.home .home-city .city-atlas { position: relative; }
.home .home-city .atlas-tabs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; padding: 0; border: 0; overflow: visible; margin: 0 0 36px; }
.home .home-city .atlas-tabs button { font-size: .875rem; justify-content: center; gap: 9px; min-height: 56px; padding: 10px 9px; background: #fffaf0; border: 1px solid #b3945b66; border-radius: 30px; white-space: normal; text-align: left; }
.home .home-city .atlas-tabs button > span { display: inline; color: #9a763b; font-size: .75rem; }
.home .home-city .atlas-tabs button[aria-selected=true] { color: #fff5df; background: #173f60; border-color: #173f60; }
.home .home-city .atlas-tabs button[aria-selected=true] > span { color: #ddbf82; }
.home .home-city .atlas-panel { grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); align-items: center; gap: 33px; }
.home .home-city .atlas-photos { padding: 11px; background: #fffcf4; border: 1px solid #b3945b66; gap: 12px; box-shadow: 0 13px 25px -18px #5949297a; transform: rotate(calc(-1.2deg + var(--detail-turn,0deg))); }
.home .home-city .atlas-main .photo-open { height: 305px; border-radius: 2px; border: none; outline: none; }
.home .home-city .atlas-detail .photo-open { height: 138px; border: none; }
.home .home-city .city-photo figcaption { font-size: .75rem; line-height: 1.55; margin-top: 5px; color: #586877; }
.atlas-place-number { display: block; font: 400 5.25rem/.9 var(--serif); color: #b4986680; margin-bottom: 26px; }
.home .home-city .atlas-copy h3 { font-size: clamp(2.1rem,3vw,3.1rem); }
.home .home-city .atlas-copy .eyebrow { font-size: .875rem; letter-spacing: .08em; }
.home .home-city .atlas-copy > p:not(.eyebrow) { font-size: 1rem; line-height: 1.8; }
.home .home-city .distance-note { font-size: .875rem; border-color: #b3945b66; }
.home .home-city .atlas-bottom { border-top: 1px solid #b3945b55; padding-top: 20px; margin-top: 27px; }
.home .home-city .atlas-bottom > p { font-size: .875rem; }
.home .home-city .nearby-guide-home { margin-top: 53px; padding-top: 30px; border-top: 1px solid #b3945b77; }
.home .home-city .nearby-heading h3 { font-size: 2.65rem; }
.home .home-city .station-walk { background: #173f60; color: #fff5df; border-color: #173f60; }
.home .home-city .station-walk small, .home .home-city .station-walk strong, .home .home-city .station-walk > .icon, .home .home-city .station-walk .station-route-arrow { color: #e2c58c; }
.home .home-city .station-walk > span > span { color: #dce7ec; }
.home .home-city .nearby-card { background: #fffbf2; border-color: #b3945b55; }
.home .home-city .city-small-links { margin-top: 27px; gap: 17px 25px; }
/* The neighbouring chapters use the same paper, but different compositions. */
.home .royal-legacy.living-chapter { background: #eef2eff2; }
.home .royal-legacy .chapter-kicker { justify-content: center; }
.home .royal-legacy .legacy-opening > h2 { font-size: clamp(3rem,4.6vw,4.4rem); }
.home .royal-legacy .craft-card { gap: 0; padding: 11px; background: #fffbf1; box-shadow: 0 15px 36px -28px #264b5d80; border: 1px solid #b3945b66; }
.home .royal-legacy .craft-art { height: 390px; border: 0; outline: none; border-radius: 2px; box-shadow: none; }
.home .royal-legacy .craft-copy { padding: 26px; }
.home .royal-legacy .craft-copy h3 { font-size: 2.65rem; }
.home .services-teaser.living-chapter { background: #e8eef0; }
.services-illustration { height: 180px; overflow: hidden; margin-top: 30px; border: 1px solid #b3945b66; border-radius: 65px 3px 3px; }
.services-illustration img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 63%; transform: scale(1.06) translateY(var(--chapter-drift,0px)); }
.home .services-teaser .service-links > a { position: relative; min-height: 88px; font-size: 1.7rem; padding: 16px; border: 1px solid #b3945b55; background: #faf7ef; margin-bottom: 10px; }
.home .services-teaser .service-links > a:hover { background: #173f60; color: #fff5df; }
.home .services-teaser .service-links > a:hover .icon { color: #e0c68c; }
.jodhpur-desert.living-desert { position: relative; }
.living-desert .village-scene { position: absolute; width: clamp(190px,27vw,360px); right: 4%; top: 25%; filter: drop-shadow(0 5px 10px #76582915); }
.living-desert .village-orbit, .living-desert .village-horizon, .living-desert .scene-caption { display: none; }
@media (max-width: 1100px) {
  .living-title h2 { font-size: 3.8rem; }
  .home .royal-rooms .editorial-main { height: 445px; }
  .home .wellness-preview .wellness-detail { grid-template-columns: 1fr; }
  .home .wellness-preview .wellness-detail > img { height: 155px; min-height: 0; }
  .home .wellness-preview .wellness-detail > span { padding: 16px 20px 18px; }
  .home .wellness-preview .wellness-detail strong { font-size: 2rem; }
  .home .wellness-preview .wellness-detail strong br { display: none; }
  .wellness-action { margin-top: 12px; padding-top: 8px; }
  .home .wellness-preview .wellness-main { min-height: 600px; }
  .home .home-city .atlas-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .home .living-chapter { padding: 43px 22px 47px; }
  .home .living-chapter:before { background-size: 160% auto; opacity: .09; }
  .living-masthead { grid-template-columns: minmax(0,1fr); gap: 0; margin-bottom: 26px; }
  .living-title h2 { font-size: clamp(2.8rem,9.7vw,3.6rem); }
  .living-title > .text-link { margin-top: 16px; }
  .chapter-kicker { gap: 11px; margin-bottom: 21px; }
  .chapter-kicker .eyebrow { font-size: .875rem; letter-spacing: .07em; }
  .chapter-rule { flex: 1; max-width: 50px; min-width: 17px; }
  .elephant-scene { width: min(100%,310px); max-width: none; margin-top: 3px; aspect-ratio: 1.25; }
  .elephant-scene .scene-caption { bottom: 2%; }
  .home .royal-rooms .editorial-tabs { gap: 8px; margin-bottom: 23px; }
  .home .royal-rooms .editorial-tabs button { gap: 8px; padding-right: 10px; font-size: .9375rem; }
  .home .royal-rooms .editorial-panel { grid-template-columns: minmax(0,1fr); gap: 23px; }
  .home .royal-rooms .editorial-main { height: clamp(320px,99vw,430px); border-width: 4px; }
  .home .royal-rooms .editorial-copy { padding-top: 0; }
  .home .royal-rooms .editorial-copy h3 { font-size: 2.4rem; max-width: 20ch; }
  .home .royal-rooms .editorial-detail { height: 180px; width: 84%; max-width: 300px; margin: 25px 8px 0 auto; }
  .home .royal-rooms .editorial-controls { margin-top: 21px; gap: 11px; }
  .home .royal-rooms .editorial-controls > span:nth-child(2) { font-size: .875rem; }
  .home .wellness-preview .living-title > p { max-width: 33ch; margin-top: 20px; }
  .wellness-masthead { position: relative; padding-bottom: 0; }
  .wellness-seal { width: 174px; margin-top: 37px; margin-bottom: 52px; }
  .seal-art { inset: 17px; }
  .home .wellness-preview .wellness-grid { display: flex; flex-direction: column; gap: 20px; margin-top: 0; }
  .home .wellness-preview .wellness-main { min-height: 0; height: clamp(390px,122vw,500px); border-radius: 48% 48% 3px 3px; }
  .home .wellness-preview .wellness-main strong { font-size: 2.85rem; }
  .home .wellness-preview .wellness-main > span { left: 21px; right: 21px; bottom: 25px; }
  .home .wellness-preview .wellness-detail { grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); }
  .home .wellness-preview .wellness-detail > img { min-height: 217px; height: 100%; }
  .home .wellness-preview .wellness-detail > span { padding: 17px 13px; }
  .home .wellness-preview .wellness-detail strong { font-size: 1.75rem; }
  .home .wellness-preview .wellness-grid small { letter-spacing: .025em; font-size: .875rem; }
  .wellness-action { font-size: .875rem; margin-top: 14px; }
  .home .wellness-preview .comfort-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; margin-top: 24px; }
  .home .wellness-preview .comfort-links > a { padding: 9px 0; font-size: .875rem; gap: 10px; }
  .village-scene { max-width: 340px; margin-top: 8px; aspect-ratio: 1.45; }
  .city-masthead { gap: 8px; margin-bottom: 24px; }
  .home .home-city .atlas-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0 0 29px; }
  .home .home-city .atlas-tabs button { min-height: 52px; font-size: .875rem; padding: 9px 13px; justify-content: flex-start; }
  .home .home-city .atlas-panel { grid-template-columns: minmax(0,1fr); gap: 26px; }
  .home .home-city .atlas-photos { padding: 8px; gap: 10px; }
  .home .home-city .atlas-main .photo-open { height: 245px; }
  .home .home-city .atlas-detail .photo-open { height: 116px; }
  .home .home-city .atlas-place-number { font-size: 3.5rem; margin: 0 0 20px; }
  .home .home-city .atlas-copy h3 { font-size: 2.6rem; }
  .home .home-city .atlas-bottom { flex-wrap: wrap; gap: 11px; justify-content: flex-end; }
  .home .home-city .atlas-bottom > p { width: 100%; max-width: none; }
  .home .home-city .atlas-bottom > span { margin-right: auto; }
  .home .home-city .nearby-guide-home { margin-top: 35px; }
  .home .home-city .nearby-heading h3 { font-size: 2.4rem; }
  .home .royal-legacy .chapter-kicker { justify-content: flex-start; }
  .home .royal-legacy .legacy-opening > h2 { font-size: 3rem; }
  .home .royal-legacy .craft-card { display: grid; grid-template-columns: minmax(0,1fr); padding: 8px; }
  .home .royal-legacy .craft-art { height: 310px; order: 0; }
  .home .royal-legacy .craft-copy { padding: 23px 13px 13px; }
  .home .royal-legacy .craft-copy h3 { font-size: 2.6rem; }
  .home .services-teaser .service-links > a { min-height: 79px; font-size: 1.45rem; gap: 12px; padding: 12px; }
  .services-illustration { height: 165px; margin-top: 22px; }
  .living-desert .village-scene { top: 7%; right: 2%; width: 41%; }
}
@media (max-width: 360px) {
  .home .living-chapter { padding-inline: 16px; }
  .living-title h2 { font-size: 2.8rem; }
  .chapter-kicker .eyebrow { letter-spacing: .02em; }
  .home .royal-rooms .editorial-tabs button { gap: 6px; padding-right: 5px; font-size: .875rem; }
  .editorial-tabs button > span { width: 24px; height: 24px; }
  .home .wellness-preview .wellness-detail { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
  .home .wellness-preview .wellness-detail strong { font-size: 1.65rem; }
  .home .home-city .atlas-tabs button { gap: 6px; padding-inline: 10px; }
  .home .home-city .atlas-main .photo-open { height: 225px; }
  .home .home-city .atlas-detail .photo-open { height: 101px; }
  .home .royal-rooms .editorial-controls > span:nth-child(2) { display: none; }
}
@media (prefers-reduced-motion:reduce) {
  .elephant-puppet, .elephant-trunk, .elephant-halo, .seal-orbit, .wellness-seal, .village-art, .village-orbit, .home .living-chapter:before, .home .royal-rooms .editorial-detail, .home .home-city .atlas-photos, .services-illustration img { transform: none !important; }
}
