/* Golden-hour reference: clean artwork beneath native, accessible UI. */
body.home {
  --header-h: 104px;
  --canvas: min(1440px, calc(100vw - 64px));
  --journey-canvas: min(1240px, calc(100vw - 64px));
  padding-top: 0;
}
.home #main { width: 100%; margin-top: calc(var(--header-h) * -1); border: 0; background: none; }
.home .outer-portal, .home .gate-landmarks { display: none; }
.home .reference-header {
  position: sticky; display: block; top: 0; left: auto;
  width: 82.5%; height: var(--header-h); margin-left: 16%; margin-right: 1.5%;
  padding: 0; transform: none; border: 0; border-bottom: 1px solid #ae8b5140;
  border-radius: 0 0 10px 10px;
  background: linear-gradient(100deg, #fbf1deee, #fbf3e5ed 57%, #f9efdce8);
  color: #12334f; box-shadow: 0 7px 30px #6141130d;
  transition: background .45s, box-shadow .45s;
}
.home.has-scrolled .reference-header { background: #fbf4e8f7; box-shadow: 0 7px 28px #17385820; }
.home .reference-header .brand {
  position: absolute; left: 42%; top: 50%; transform: translate(-50%, -50%);
  flex-direction: column; gap: 3px; align-items: center; white-space: nowrap;
}
.home .brand img { width: 36px; height: 27px; object-fit: contain; }
.home .brand > span { font-size: 1.8rem; line-height: 1; letter-spacing: .15em; text-align: center; }
.home .brand small { margin-top: 7px; color: #12334f; font-size: .75rem; letter-spacing: .12em; }
.home .reference-nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  font: 500 1.1rem/1.5 var(--serif);
}
.home .reference-nav > a { flex: none; min-height: 44px; display: inline-flex; align-items: center; }
.home .reference-nav-left { left: 10%; width: 23.5%; }
.home .reference-nav-right { left: 54%; width: 22%; }
.home .reference-header .header-right { position: absolute; top: 50%; right: 1.5%; transform: translateY(-50%); gap: 18px; }
.home .header-plan, .reference-copy .button, .reference-hero .stay-planner .button {
  position: relative; isolation: isolate; border: 1px solid #b39452; border-radius: 11px;
  color: #f7edda; background: #12344f; box-shadow: inset 0 0 0 4px #12344f, inset 0 0 0 5px #b89b615e;
}
.home .header-plan { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 52px; padding: 11px 22px; color: #dbc087; font: 500 1.1rem/1.5 var(--serif); }
.home .header-plan:hover, .reference-copy .button:hover, .reference-hero .stay-planner .button:hover { background: #205175; box-shadow: inset 0 0 0 4px #205175, inset 0 0 0 5px #d4b775aa, 0 5px 18px #17385820; }
.home .header-plan .icon { width: 22px; height: 22px; }
.home .menu-toggle { width: 58px; height: 58px; padding: 0; display: grid; place-items: center; border: 1px solid #aa8b56; border-radius: 50%; color: #12344f; background: #f9efdccc; transition: background .4s, border-color .4s; }
.home .menu-toggle:hover { background: #ecdfc9; border-color: #12344f; }
.home .menu-toggle > span:last-child { display: none; }
.home .menu-lines { position: relative; width: 23px; height: 17px; }
.home .menu-lines:after { content: ''; position: absolute; left: 0; right: 0; top: 7px; height: 1px; background: currentColor; transition: opacity .3s; }
.home .menu-toggle[aria-expanded=true] .menu-lines:after { opacity: 0; }
.home .site-menu { width: min(1320px, calc(100vw - 64px)); border: 1px solid #ad986e65; border-radius: 12px 12px 0 0; }

.reference-hero {
  position: relative; isolation: isolate; overflow: hidden;
  height: clamp(740px, 56.28vw, 1180px); min-height: 740px;
  display: block; padding: 0; background: #e6c691; color: #12334f;
}
.reference-hero .hero-vista {
  position: absolute; inset: -12px 0; width: 100%; height: calc(100% + 24px); max-width: none;
  object-fit: cover; object-position: center; z-index: -3;
  transform: translateY(var(--hero-depth, 0px));
  animation: golden-scene-arrive 1.5s var(--ease) both;
}
.hero-painted-margin { position: absolute; inset-block: 0; width: 17%; z-index: -1; overflow: hidden; pointer-events: none; }
.hero-painted-margin > img { position: absolute; top: -12px; width: 100vw; max-width: none; height: calc(100% + 24px); object-fit: cover; object-position: center; transition: transform .7s var(--ease); }
.hero-painted-left { left: 0; mask-image: linear-gradient(90deg, #000 88%, transparent); }
.hero-painted-right { right: 0; mask-image: linear-gradient(270deg, #000 88%, transparent); }
.hero-painted-left > img { left: 0; transform: translateY(calc(var(--hero-depth, 0px) * .3)); }
.hero-painted-right > img { right: 0; transform: translateY(calc(var(--hero-depth, 0px) * -.25)); }
.reference-veil {
  position: absolute; inset: 0; z-index: -2; pointer-events: none;
  background: radial-gradient(ellipse 26% 33% at 37% 39%, #fff6e94d, transparent 95%);
}
.hero-margin-caption { position: absolute; left: 1.5%; top: 40.5%; width: 13%; text-align: center; font: italic 500 clamp(1.05rem, 1.45vw, 1.65rem)/1.45 var(--serif); color: #24445a; transition: color .35s; }
.hero-margin-caption:hover { color: #947038; }
.reference-copy { position: absolute; top: 19.2%; left: 25.6%; width: min(32%, 560px); z-index: 1; }
.reference-copy .eyebrow { color: #173858; font-size: .8125rem; line-height: 1.5; letter-spacing: .1em; margin-bottom: 22px; text-align: left; }
.reference-copy .eyebrow:after { content: ''; display: block; width: 152px; height: 1px; margin-top: 12px; background: #ac85576e; transform-origin: left; animation: rule-arrive 1.1s .25s var(--ease) both; }
.reference-copy h1 { font-size: clamp(3.1rem, 4.05vw, 6rem); line-height: .98; letter-spacing: -.025em; margin-bottom: 22px; font-weight: 500; }
.reference-copy h1 > span, .reference-copy h1 > em { display: block; }
.reference-copy h1 > em { color: #896427; }
.reference-copy > p:not(.eyebrow) { font-size: 1rem; line-height: 1.65; color: #214660; margin-bottom: 24px; }
.reference-copy .hero-actions { gap: 25px; flex-wrap: wrap; }
.reference-copy .button { min-height: 52px; padding: 12px 24px; font: 500 1.15rem/1.4 var(--serif); }
.hero-story-link { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; font-size: .875rem; line-height: 1.45; }
.hero-story-link strong { font-weight: 500; color: #36536a; }
.story-round { display: grid; place-items: center; width: 49px; height: 49px; border: 1px solid #9d855d; border-radius: 50%; background: #fbf0db80; transition: background .4s, transform .5s var(--ease); }
.story-round .icon { width: 22px; height: 22px; }
.hero-story-link:hover .story-round { background: #fff5dfd9; transform: rotate(-6deg); }
.reference-hero .stay-planner {
  position: absolute; left: 50%; bottom: 5.5%; width: min(1440px, 72%);
  display: grid; grid-template-columns: 1.15fr 1fr 1fr .85fr auto; align-items: center; gap: 21px;
  padding: 12px 16px; border: 1px solid #b39762; border-radius: 13px;
  background: #faf0dfeF; box-shadow: inset 0 0 0 4px #faf0df, inset 0 0 0 5px #b397623b, 0 10px 28px #49351730;
  transform: translate(-50%, var(--inset-depth, 0px)); animation: planner-arrive 1s .3s var(--ease) both;
}
.planner-intro { display: flex; align-items: center; gap: 13px; min-width: 0; }
.planner-intro > img { width: 54px; height: 54px; border: 1px solid #b39762; border-radius: 50%; object-fit: cover; flex: none; }
.planner-intro > span:nth-child(2) { font: 500 1.125rem/1.22 var(--serif); }
.planner-intro > span:last-child { color: #926a34; margin-left: auto; }
.reference-hero .stay-planner label { gap: 0; padding-left: 16px; border-left: 1px solid #b59b783d; min-width: 0; }
.planner-label { margin-left: 35px; color: #876b49; font-size: .875rem; line-height: 1.5; }
.planner-field { display: flex; align-items: center; gap: 12px; min-width: 0; }
.planner-field .icon { width: 23px; height: 23px; }
.reference-hero .stay-planner input, .reference-hero .stay-planner select { border: 0; min-width: 0; min-height: 36px; padding: 2px 0; line-height: 1.5; color: #173858; }
.reference-hero .stay-planner .button { min-height: 54px; padding: 12px 21px; font: 500 1.15rem/1.4 var(--serif); white-space: nowrap; }
.reference-hero .hero-concept-note { left: 25.6%; bottom: 13px; max-width: none; color: #fff4de; font-size: .75rem; text-shadow: 0 1px 5px #3d281b; }
.home-journey { position: relative; width: var(--journey-canvas); margin: 0 auto; background: #faf7eef3; border-inline: 1px solid #ad986e55; }
.home .chapter-rail { top: var(--header-h); }
.home .gate-directory { display: block; padding: 25px var(--pad); }
.home .gate-directory > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 28px; }
.home .gate-directory a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 7px 0; border-bottom: 1px solid #ad986e59; font-size: .875rem; }
.home .gate-directory a > span { font-size: .75rem; color: #876b49; }
.home .gate-directory .eyebrow { margin-bottom: 12px; }
.home .gate-map-art { display: none; }
.home .closing-cta, .home .site-footer { width: var(--journey-canvas); }
@keyframes golden-scene-arrive { from { opacity: .55; transform: translateY(6px); } to { opacity: 1; transform: translateY(var(--hero-depth, 0px)); } }
@keyframes planner-arrive { from { opacity: 0; transform: translate(-50%, 17px); } to { opacity: 1; transform: translate(-50%, var(--inset-depth, 0px)); } }
@keyframes rule-arrive { from { transform: scaleX(0); } to { transform: scaleX(1); } }

@media (max-width: 1400px) {
  .home .reference-nav { font-size: 1rem; gap: 14px; }
  .home .brand > span { font-size: 1.6rem; letter-spacing: .12em; }
  .home .header-plan { padding-inline: 17px; font-size: 1rem; }
  .home .reference-header .header-right { gap: 12px; }
  .home .menu-toggle { width: 52px; height: 52px; }
  .reference-copy .hero-actions { gap: 19px; }
  .reference-copy .button { padding-inline: 19px; }
  .reference-hero .stay-planner { width: 78%; gap: 16px; }
  .planner-intro > img { width: 46px; height: 46px; }
  .planner-intro > span:nth-child(2) { font-size: 1rem; }
  .reference-hero .stay-planner .button { font-size: 1rem; padding-inline: 17px; }
}
@media (max-width: 1220px) {
  body.home { --header-h: 86px; }
  .home .reference-header { display: flex; justify-content: space-between; align-items: center; width: calc(100% - 64px); margin-inline: auto; padding-inline: 25px; }
  .home .reference-header .brand { position: static; transform: none; flex-direction: row; gap: 11px; }
  .home .brand > span { text-align: left; }
  .home .brand img { width: 35px; height: 35px; }
  .home .reference-nav { display: none; }
  .home .reference-header .header-right { position: static; transform: none; }
  .reference-hero { height: 740px; }
  .reference-copy { left: 24%; width: 39%; top: 20%; }
  .reference-copy h1 { font-size: 3.3rem; }
  .reference-copy .hero-actions { gap: 15px; }
  .reference-copy .button { font-size: 1rem; padding-inline: 17px; }
  .hero-story-link { font-size: .8125rem; }
  .reference-hero .stay-planner { width: calc(100% - 80px); grid-template-columns: 1fr 1fr .85fr auto; gap: 18px; bottom: 44px; }
  .planner-intro { display: none; }
  .reference-hero .stay-planner label:first-of-type { border-left: 0; padding-left: 0; }
  .reference-hero .hero-concept-note { left: 40px; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  .reference-copy { left: 20%; top: 21%; width: 46%; }
  .reference-copy h1 { font-size: 3.1rem; }
  .reference-copy .eyebrow { margin-bottom: 20px; }
  .reference-copy > p:not(.eyebrow) { font-size: .9375rem; }
  .reference-hero .hero-vista, .hero-painted-margin > img { object-position: 60% center; }
  .hero-margin-caption { display: none; }
  .hero-painted-margin { width: 12%; }
  .reference-veil { background: radial-gradient(ellipse 33% 33% at 39% 40%, #fff6e999, transparent 95%); }
  .reference-hero .stay-planner { gap: 13px; padding-inline: 15px; }
  .reference-hero .stay-planner label { padding-left: 10px; }
  .planner-field { gap: 8px; }
  .planner-label { margin-left: 31px; }
  .reference-hero .stay-planner .button { padding-inline: 14px; font-size: .9375rem; }
}
@media (max-width: 760px) {
  body.home { --header-h: 88px; --canvas: calc(100vw - 24px); --journey-canvas: calc(100vw - 24px); }
  .home .reference-header { width: var(--canvas); height: var(--header-h); padding-inline: 16px; border-radius: 0 0 12px 12px; }
  .home .reference-header .brand { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); flex-direction: column; gap: 2px; }
  .home .brand > span { font-size: 1.4rem; letter-spacing: .12em; text-align: center; }
  .home .brand small { font-size: .75rem; letter-spacing: .04em; margin-top: 5px; }
  .home .brand img { width: 30px; height: 22px; }
  .home .header-plan { display: none; }
  .home .reference-header .header-right { margin-left: auto; }
  .home .menu-toggle { width: 44px; height: 44px; }
  .home .site-menu { width: var(--canvas); border-radius: 12px 12px 0 0; }
  .reference-hero { display: grid; grid-template-columns: minmax(0, 1fr); height: auto; min-height: 0; padding-bottom: 16px; background: #f6ecdc; }
  .reference-hero .hero-vista { position: relative; inset: auto; grid-row: 1; height: clamp(380px, 100vw, 570px); object-position: 60% center; z-index: 0; transform: none; animation: golden-mobile-arrive 1.2s var(--ease) both; }
  .hero-painted-margin, .hero-margin-caption, .reference-veil { display: none; }
  .reference-copy { position: relative; top: auto; left: auto; width: calc(100% - 24px); margin: -27px auto 0; grid-row: 2; padding: 32px 24px 25px; border: 1px solid #b59a6455; border-radius: 14px 14px 0 0; background: linear-gradient(#fbf4e8f2, #fbf4e8ed), url('/assets/marwar-painted-margins.webp') center/cover; box-shadow: 0 -8px 24px #5d451b0b; }
  .reference-copy .eyebrow { font-size: .75rem; letter-spacing: .08em; line-height: 1.6; margin-bottom: 22px; }
  .reference-copy .eyebrow:after { margin-top: 10px; width: 116px; }
  .reference-copy h1 { font-size: clamp(2.8rem, 9vw, 4.1rem); line-height: 1; margin-bottom: 21px; }
  .reference-copy > p:not(.eyebrow) { margin-bottom: 22px; font-size: 1rem; line-height: 1.65; }
  .reference-copy .hero-actions { gap: 20px; }
  .reference-copy .button { min-height: 50px; font-size: 1.05rem; padding-inline: 19px; }
  .hero-story-link { font-size: .875rem; gap: 9px; }
  .story-round { width: 43px; height: 43px; }
  .reference-hero .stay-planner { position: relative; grid-row: 3; left: auto; bottom: auto; width: calc(100% - 24px); margin: 0 auto 15px; padding: 20px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; gap: 17px 15px; border-radius: 0 0 14px 14px; transform: none; animation: planner-mobile-arrive .8s .25s var(--ease) both; }
  .reference-hero .stay-planner label { padding-left: 0; border-left: 0; }
  .planner-label { margin-left: 0; margin-bottom: 5px; }
  .reference-hero .stay-planner input, .reference-hero .stay-planner select { min-height: 44px; border-bottom: 1px solid #a98a5d50; }
  .reference-hero .stay-planner .button { min-height: 50px; white-space: normal; padding: 11px 13px; font-size: 1rem; }
  .reference-hero .hero-concept-note { position: static; grid-row: 4; padding-inline: 28px; max-width: none; color: #78613f; font-size: .75rem; line-height: 1.6; text-shadow: none; }
  .home .gate-directory { padding: 49px 55px 22px; }
  .home .gate-directory > div { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 9px 12px; }
  .home .gate-directory a { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 5px; min-height: 52px; line-height: 1.5; }
  .home .gate-directory a > span { margin-top: 8px; }
  .home .gate-map-art { display: block; }
}
@media (max-width: 420px) {
  .home .brand > span { font-size: 1.2rem; letter-spacing: .09em; }
  .home .brand small { letter-spacing: .015em; }
  .reference-copy { padding-inline: 22px; }
  .reference-copy h1 { font-size: 3rem; }
  .reference-copy .hero-actions { gap: 15px; }
  .reference-copy .button { padding-inline: 17px; }
  .reference-hero .stay-planner { padding: 19px 17px; gap: 16px 12px; }
  .reference-hero .stay-planner label:nth-of-type(-n+2) .icon { display: none; }
  .planner-field .icon { width: 21px; height: 21px; }
}
@media (max-width: 360px) {
  .home .brand > span { font-size: 1.08rem; letter-spacing: .07em; }
  .home .brand small { letter-spacing: 0; }
  .home .menu-toggle { width: 42px; }
  .reference-copy { padding-inline: 20px; }
  .reference-copy h1 { font-size: 2.7rem; }
  .reference-copy .hero-actions { gap: 11px; }
  .reference-copy .button { padding-inline: 13px; font-size: 1rem; }
  .hero-story-link { gap: 7px; }
  .story-round { width: 39px; height: 39px; }
  .home .gate-directory { padding: 44px 48px 19px; }
}
@keyframes golden-mobile-arrive { from { opacity: .6; } to { opacity: 1; } }
@keyframes planner-mobile-arrive { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .reference-hero .hero-vista, .hero-painted-margin > img { transform: none !important; animation: none !important; transition: none !important; }
  .reference-hero .stay-planner { animation: none !important; }
  .reference-copy .eyebrow:after { animation: none !important; }
  .story-round { transform: none !important; }
  .reference-header, .header-plan, .menu-toggle, .story-round { transition: none !important; }
}

/* The newest supplied collection uses a centred royal arch composition. */
.home .reference-header { width: calc(100% - 48px); margin-inline: auto; }
.home .reference-header .brand { left: 50%; }
.home .reference-nav-left { left: 18%; width: 20%; }
.home .reference-nav-right { left: 61%; width: 17%; }
.home .reference-header .header-right { right: 2%; }
.collection-home-hero .reference-copy { top: 13%; left: 28%; width: 44%; text-align: center; }
.hero-identity { display: flex; flex-direction: column; align-items: center; gap: 9px; margin-bottom: 23px; animation: royal-identity-arrive 1.1s .15s var(--ease) both; }
.hero-identity > img { width: 54px; height: 41px; object-fit: contain; }
.hero-identity > span { font: 500 2.35rem/1.1 var(--serif); letter-spacing: .18em; }
.hero-identity small { display: block; margin-top: 6px; font: 600 .8125rem/1.4 var(--sans); letter-spacing: .17em; }
.collection-home-hero .reference-copy .eyebrow { text-align: center; margin-bottom: 17px; }
.collection-home-hero .reference-copy .eyebrow:after { margin-inline: auto; width: 107px; margin-top: 10px; }
.collection-home-hero .reference-copy h1 { font-size: clamp(3.6rem, 4.3vw, 6.1rem); line-height: 1; margin-bottom: 19px; }
.collection-home-hero .reference-copy h1 > em { color: #12334f; font-style: normal; }
.collection-home-hero .reference-copy > p:not(.eyebrow) { margin-inline: auto; font-size: 1rem; line-height: 1.6; margin-bottom: 22px; }
.collection-home-hero .hero-actions { justify-content: center; gap: 24px; }
.collection-home-hero .reference-veil { background: radial-gradient(ellipse 29% 34% at 50% 38%, #fff7e98c, #fff7e936 68%, transparent); }
.hero-places { position: absolute; top: 37%; left: 2.4%; width: 11.5%; display: grid; z-index: 2; }
.hero-places > a { display: flex; align-items: center; gap: 11px; min-height: 48px; padding-block: 7px; border-bottom: 1px solid #ad8c5747; font: 500 1.125rem/1.4 var(--serif); transition: color .35s, padding-left .5s var(--ease); }
.hero-places > a:hover { color: #896427; padding-left: 4px; }
.hero-places > a > span { font: 500 .75rem/1.5 var(--sans); color: #896427; }
@keyframes royal-identity-arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 1220px) {
  .home .reference-header { width: calc(100% - 64px); }
  .home .reference-header .brand { position: static; transform: none; }
  .hero-places { display: none; }
  .collection-home-hero .reference-copy { top: 16%; left: 23%; width: 55%; }
  .hero-identity > img { width: 43px; height: 33px; }
  .hero-identity > span { font-size: 2rem; }
  .hero-identity { margin-bottom: 18px; }
  .collection-home-hero .reference-copy h1 { font-size: 3.8rem; }
}
@media (max-width: 760px) {
  .home .reference-header { width: var(--canvas); }
  .home .reference-header .brand { position: absolute; left: 50%; transform: translate(-50%, -50%); }
  .collection-home-hero .hero-vista { object-position: 78% center; }
  .collection-home-hero .reference-copy { top: auto; left: auto; width: calc(100% - 24px); }
  .hero-identity { margin-bottom: 21px; gap: 7px; }
  .hero-identity > img { width: 35px; height: 27px; }
  .hero-identity > span { font-size: 1.7rem; letter-spacing: .13em; }
  .hero-identity small { font-size: .75rem; letter-spacing: .1em; }
  .collection-home-hero .reference-copy h1 { font-size: clamp(2.8rem, 8.5vw, 3.9rem); }
  .collection-home-hero .hero-actions { gap: 18px; }
}
@media (max-width: 360px) {
  .collection-home-hero .reference-copy h1 { font-size: 2.6rem; }
  .collection-home-hero .hero-actions { gap: 11px; }
}
@media (prefers-reduced-motion: reduce) { .hero-places > a { transition: none; } }

/* A continuous painted journey below the royal arch. */
body.home {
  --journey-canvas: min(1120px, calc(100vw - 320px));
  --paint-width: min(190px, calc((100vw - var(--journey-canvas)) / 2 - 16px));
}
.home .world-painting { opacity: .48; }
.home-journey { background: #f8f2e7; box-shadow: 0 0 45px #2148700b; border-color: #bca47877; }
.home .chapter-rail { background: #f8f2e9f2; border-color: #b69b714d; }
.home .chapter-rail > a { font-size: .875rem; }
.home .home-doorways { background: #eaf0f0; border-color: #9aafbc55; padding-block: 27px; }
.home .home-doorways strong { color: #163e61; }
.home .home-doorways img { border: 1px solid #ae935b88; box-shadow: 0 5px 12px #17385812; }
.home .home-doorways > a { transition: color .4s; }
.home .home-doorways > a:hover { color: #976c30; }
.home .section-shell { padding-block: 78px; }
.home .royal-legacy { padding-top: 64px; padding-bottom: 70px; background: linear-gradient(#f7f0e4f0, #f1e6d2ef), url('/assets/jodhpur-freehand.webp') center/cover; }
.legacy-opening { position: relative; isolation: isolate; text-align: center; padding: 24px 0 49px; }
.legacy-opening:before {
  content: ''; position: absolute; inset: -5px -30px 0; z-index: -1; pointer-events: none;
  background: url('/assets/marwar-painted-margins.webp') center/100% auto no-repeat;
  opacity: .28; transform: translateY(var(--paint-y, 0px));
}
.legacy-opening .eyebrow { font-size: .75rem; color: #836132; }
.legacy-opening h2 { font-size: clamp(3.1rem, 4.3vw, 4.1rem); line-height: 1.06; color: #153c60; margin-bottom: 24px; }
.legacy-opening h2 em { color: #956b32; }
.legacy-opening > p:not(.eyebrow) { margin-inline: auto; font-size: 1rem; color: #4c6070; }
.home .craft-card { gap: 34px; align-items: center; }
.home .craft-art { height: 420px; border: 8px solid #173e5d; outline: 1px solid #b99a60; box-shadow: 0 18px 34px #5d4c2821; }
.home .craft-copy h3 { color: #173e5d; font-size: 3.2rem; line-height: 1.08; margin-bottom: 22px; }
.home .craft-copy h3 em { color: #92672e; }
.legacy-craft-links { display: grid; gap: 3px; margin-top: 21px; }
.legacy-craft-links .text-link { width: 100%; font-size: .875rem; padding-block: 9px; }
.home .craft-signature { font-size: .75rem; letter-spacing: .04em; gap: 14px; }
.home .royal-rooms { background: linear-gradient(#fcf8f0ef, #f8f1e5f2), url('/assets/marwar-painted-margins.webp') center/100% auto no-repeat; }
.home .section-heading h2 { color: #173e5d; font-size: clamp(3rem, 4.2vw, 4rem); }
.home .editorial-tabs { border-color: #aa8a5359; }
.home .editorial-tabs button { color: #587080; }
.home .editorial-tabs button[aria-selected=true] { color: #173e5d; }
.home .editorial-main { min-height: 430px; border: 5px solid #e6d7b9; outline: 1px solid #b49b6c99; box-shadow: 0 13px 26px #69553515; }
.home .editorial-copy h3 { color: #173e5d; }
.home .editorial-detail { border: 4px solid #eee3cf; outline: 1px solid #b49b6c80; transform: rotate(-2deg); }
.home .editorial-controls { border-top: 1px solid #bca47855; padding-top: 20px; }
.home .wellness-preview {
  position: relative; isolation: isolate; overflow: hidden;
  background: #153b5d; color: #fcf3df; border-block: 1px solid #c7aa6f;
}
.home .wellness-preview:before {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: url('/assets/marwar-painted-margins.webp') center/100% auto no-repeat;
  opacity: .15; transform: translateY(calc(var(--paint-y, 0px) * -1));
}
.home .wellness-preview .eyebrow { color: #dbc28a; }
.home .wellness-preview .section-heading h2 { color: #fff6e3; }
.home .wellness-preview .section-heading h2 em { color: #e0c78e; }
.home .wellness-preview .text-link { color: #fff3d7; border-color: #d4b3758c; }
.home .wellness-grid { gap: 20px; }
.home .wellness-grid > a { border: 1px solid #dac48d80; box-shadow: 0 10px 25px #081e3424; }
.home .wellness-grid strong { color: #fff4dc; }
.home .comfort-links { border-color: #d4b37566; }
.home .comfort-links > a { border-color: #d4b37555; color: #fcf3df; }
.home .comfort-links > a:hover { background: #f2dec019; }
.home .comfort-links .icon { color: #e1c58c; }
.home .services-teaser { background: linear-gradient(#f7efe1f2, #f7efe1ef), url('/assets/marwar-painted-margins.webp') center/100% auto no-repeat; }
.home .services-teaser h2 { color: #173e5d; }
.home .service-links a { border-color: #b2976459; min-height: 72px; }
.home .service-links .icon { color: #97703b; }
.home .home-city { background: linear-gradient(#edf2f0ef, #edf2f0f2), url('/assets/jodhpur-freehand.webp') center/cover; }
.home .atlas-main .photo-open { border: 5px solid #e4d7ba; outline: 1px solid #ae955d80; }
.home .atlas-detail .photo-open { border: 3px solid #e4d7ba; }
.home .atlas-copy h3 { color: #173e5d; }
.home .atlas-bottom { border-color: #a3b4b956; }
.home .gate-directory { background: linear-gradient(#f3ecdcf0, #f3ecdcf0), url('/assets/jodhpur-freehand.webp') center/cover; border-block: 1px solid #ad986e55; }
.home .closing-cta { background: #153b5d; color: #fff5df; border-color: #c5a86b88; }
.home .closing-cta .eyebrow { color: #ddc18a; }
.home .closing-cta p:not(.eyebrow) { color: #e0e7e7; }
.home .closing-cta .button { background: #f2e4c6; color: #153b5d; border-color: #ddc18a; }
.home .closing-art { border-color: #dbbf82; outline-color: #f2e4c680; }
.home .site-footer { background: #102d46; color: #e9ecdf; border-color: #c5a86b55; }
.home .site-footer h3 { color: #dfc18c; }
.home .footer-brand p, .home .footer-bottom { color: #d6dfdc; }
.home .footer-bottom { border-color: #dcc39144; }

.royal-surround {
  position: fixed; top: 118px; left: 0; right: 0; height: calc(100dvh - 158px);
  z-index: 3; pointer-events: none; opacity: 0; visibility: hidden;
  transition: opacity 1.1s var(--ease), visibility 1.1s;
}
.has-royal-journey .royal-surround { opacity: 1; visibility: visible; }
.royal-side { position: absolute; top: 0; height: 100%; width: var(--paint-width); overflow: hidden; opacity: .87; transition: opacity 1s, filter 1s; mask-image: linear-gradient(transparent, #000 6%, #000 91%, transparent); }
.royal-side-left { left: calc((100vw - var(--journey-canvas)) / 2 - var(--paint-width) - 8px); }
.royal-side-right { right: calc((100vw - var(--journey-canvas)) / 2 - var(--paint-width) - 8px); }
.royal-side > img { position: absolute; top: 50%; width: calc(var(--paint-width) * 4.5); max-width: none; height: auto; transform: translateY(calc(-50% + var(--paint-y, 0px))) rotate(var(--paint-turn, 0deg)); transition: transform .8s var(--ease); }
.royal-side-left > img { left: 0; transform-origin: left center; }
.royal-side-right > img { right: 0; transform-origin: right center; transform: translateY(calc(-50% - var(--paint-y, 0px))) rotate(calc(var(--paint-turn, 0deg) * -1)); }
body[data-world-state=jodhpur-canvas] .royal-side-left { opacity: 1; }
body[data-world-state=rooms-preview] .royal-side { filter: saturate(.86); }
body[data-world-state=wellness-preview] .royal-side-left { opacity: .58; }
body[data-world-state=wellness-preview] .royal-side-right { opacity: 1; }
body[data-world-state=wellness-preview] .royal-side-right > img { transform: translateY(calc(-50% - var(--paint-y, 0px) + 22px)) rotate(calc(var(--paint-turn, 0deg) * -1)); }
body[data-world-state=city-preview] .royal-side-left { opacity: 1; filter: saturate(1.1); }
.royal-chapters {
  position: fixed; top: 167px; right: calc((100vw - var(--journey-canvas)) / 2 - 136px);
  width: 115px; height: min(460px, calc(100dvh - 250px)); z-index: 36;
  display: flex; flex-direction: column; justify-content: space-between;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .7s, visibility .7s;
}
.has-royal-journey .royal-chapters { opacity: 1; visibility: visible; pointer-events: auto; }
.royal-chapters > a { position: relative; display: flex; align-items: center; justify-content: flex-end; min-height: 52px; }
.royal-thread { position: absolute; top: 26px; bottom: 26px; right: 14px; width: 1px; background: #b99a6866; }
.royal-thread > span { display: block; width: 100%; height: 100%; background: #97703b; transform: scaleY(0); transform-origin: top; transition: transform .4s; }
.royal-chapter-number { position: relative; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #a98c57; border-radius: 50%; background: #faf0dce8; font: 500 .75rem/1 var(--sans); color: #173e5d; transition: background .4s, color .4s, box-shadow .4s; }
.royal-chapter-name { position: absolute; right: 38px; width: 100px; padding: 6px 8px; border: 1px solid #b69a64; background: #fbf4e5f5; color: #173e5d; font: 500 .875rem/1.4 var(--sans); text-align: center; opacity: 0; transform: translateX(7px); pointer-events: none; transition: opacity .4s, transform .5s var(--ease); }
.royal-chapters > a[aria-current], .royal-chapters > a:hover, .royal-chapters > a:focus-visible { z-index: 1; }
.royal-chapters > a[aria-current] .royal-chapter-number, .royal-chapters > a:hover .royal-chapter-number, .royal-chapters > a:focus-visible .royal-chapter-number { background: #173e5d; color: #f7e7be; box-shadow: 0 0 0 5px #f7e7be60; }
.royal-chapters > a[aria-current] .royal-chapter-name, .royal-chapters > a:hover .royal-chapter-name, .royal-chapters > a:focus-visible .royal-chapter-name { opacity: 1; transform: none; pointer-events: auto; }
.js-motion .legacy-opening.is-visible:before { animation: painted-reveal 1.3s var(--ease) both; }
.home[data-world-state=wellness-preview] .wellness-preview:before { animation: lotus-reveal 1.5s var(--ease) both; }
@keyframes painted-reveal { from { opacity: .03; clip-path: inset(0 0 100% 0); } to { opacity: .28; clip-path: inset(0); } }
@keyframes lotus-reveal { from { opacity: .04; clip-path: inset(0 0 0 75%); } to { opacity: .15; clip-path: inset(0); } }

@media (max-width: 1250px) {
  body.home { --journey-canvas: calc(100vw - 64px); }
  .royal-surround, .royal-chapters { display: none; }
}
@media (max-width: 1000px) {
  .home .section-shell { padding-block: 62px; }
  .home .craft-art { height: 380px; }
  .home .craft-copy h3 { font-size: 2.8rem; }
  .home .craft-card { gap: 27px; }
  .home .editorial-main { min-height: 395px; }
}
@media (max-width: 760px) {
  body.home { --journey-canvas: calc(100vw - 24px); }
  .home .chapter-rail > a { font-size: .875rem; }
  .home .home-doorways { padding-block: 16px; }
  .home .section-shell { padding-block: 48px; }
  .home .royal-legacy { padding-top: 38px; }
  .legacy-opening { padding: 16px 0 36px; }
  .legacy-opening:before { inset: 0 -22px; opacity: .35; transform: translateY(var(--paint-y, 0px)); }
  .legacy-opening h2, .home .section-heading h2 { font-size: 2.9rem; }
  .legacy-opening h2 { margin-bottom: 20px; }
  .home .craft-art { height: auto; aspect-ratio: 1.4; order: 2; border-width: 5px; }
  .home .craft-copy h3 { font-size: 2.55rem; }
  .home .craft-card { gap: 27px; }
  .home .craft-signature { font-size: .75rem; }
  .legacy-craft-links { gap: 0; margin-top: 17px; }
  .home .editorial-main { min-height: 0; height: 325px; }
  .home .editorial-detail { border-width: 3px; }
  .home .wellness-grid { gap: 13px; }
  .home .wellness-preview:before { background-size: 150% auto; opacity: .18; }
  .home .comfort-links > a { border-color: #d4b37555; }
  .home .service-links a { min-height: 64px; }
  .home .closing-cta { padding-block: 46px; }
}
@media (max-width: 360px) {
  .legacy-opening h2, .home .section-heading h2 { font-size: 2.6rem; }
  .home .craft-copy h3 { font-size: 2.4rem; }
  .home .editorial-main { height: 290px; }
}
@media (prefers-reduced-motion: reduce) {
  .royal-surround, .royal-side, .royal-chapters, .royal-chapter-name, .royal-chapter-number, .royal-thread > span { transition: none !important; }
  .royal-side > img { transform: translateY(-50%) !important; transition: none !important; }
  .legacy-opening:before, .home .wellness-preview:before { transform: none !important; animation: none !important; }
}
