/* Indian Musical Garden: shared color, navigation, footer and opening foundations. */
:root{--garden-ivory:#f4ebdd;--garden-terracotta:#923b28;--garden-olive:#798268;--garden-chocolate:#35241e;--garden-gold:#b99454;--garden-peach:#e6b69c;--garden-burgundy:#782f3b;--garden-muted:#6e5a4d;--garden-line:#b9945470}
html{background:var(--garden-ivory)}
body{background:var(--garden-ivory);color:var(--garden-chocolate)}
body .site-header.royal-nav,body:not([data-page="home"]) .site-header.royal-nav,body:not([data-page="home"]) .site-header.royal-nav.scrolled,body[data-page="home"] .site-header.royal-nav.scrolled{background:rgba(244,235,221,.96);box-shadow:none}
body .royal-nav .royal-wordmark,body .royal-nav-links a,body:not([data-page="home"]) .royal-nav .royal-wordmark,body:not([data-page="home"]) .royal-nav-links a{color:var(--garden-chocolate)}
body .royal-nav nav.royal-nav-links a:hover,body .royal-nav nav.royal-nav-links a[aria-current],body:not([data-page="home"]) .royal-nav nav.royal-nav-links a:hover,body:not([data-page="home"]) .royal-nav nav.royal-nav-links a[aria-current]{color:var(--garden-terracotta)}
body .royal-nav-ornament{color:var(--garden-gold)}
body .royal-nav .language-switch,body[data-page="home"] .royal-nav .language-switch,body:not([data-page="home"]) .royal-nav .language-switch{background:transparent;border-color:#92766075}
body .royal-nav .language-switch button,body[data-page="home"] .royal-nav .language-switch button,body:not([data-page="home"]) .royal-nav .language-switch button{color:var(--garden-chocolate)}
body .royal-nav .language-switch button[aria-pressed="true"],body[data-page="home"] .royal-nav .language-switch button[aria-pressed="true"],body:not([data-page="home"]) .royal-nav .language-switch button[aria-pressed="true"]{background:var(--garden-chocolate);color:var(--garden-ivory)}
body .site-header.royal-nav .royal-book,body[data-page] .royal-mobile-navigation .royal-mobile-book{background:var(--garden-terracotta);border-color:var(--garden-terracotta);color:#fff8ee}
body .site-header.royal-nav .royal-book:hover,body[data-page] .royal-mobile-navigation .royal-mobile-book:hover{background:#6f2e21;border-color:#6f2e21;color:#fff8ee}
body .royal-mobile-navigation{background:var(--garden-ivory);border-color:var(--garden-line);box-shadow:0 12px 30px #35241e1a}
body .royal-mobile-navigation a:not(.royal-mobile-book),body[data-page="home"] .royal-mobile-navigation a:not(.royal-mobile-book),body:not([data-page="home"]) .royal-mobile-navigation a:not(.royal-mobile-book){color:var(--garden-chocolate)}
body .royal-nav .menu-toggle{border-color:#9c7d655e;color:var(--garden-chocolate)}
body .finale-footer{background:var(--garden-ivory);color:var(--garden-chocolate)}
body .finale-panel{background:var(--garden-chocolate);color:#f4ebdd}
body .finale-sky h2{color:var(--garden-chocolate)}
body .finale-eyebrow,body .finale-hint,body .finale-note{color:var(--garden-terracotta)}
body :is(a,button,input,select,textarea):focus-visible{outline-color:var(--garden-terracotta)}
/* Progress is based on essential assets settling; a stalled resource never blocks the page. */
html.has-opening body .site-opening{background:var(--garden-ivory);color:var(--garden-chocolate);animation:none;overflow:hidden}
html.has-opening body .site-opening::before{display:none}
html.has-opening body .site-opening.is-done{animation:garden-opening-exit .5s ease forwards}
.opening-center .opening-name{color:var(--garden-chocolate)}
.opening-percent{color:var(--garden-terracotta)}
.opening-center .opening-subtitle{color:var(--garden-muted)}
.opening-progress .opening-line{background:#b9945450}
.opening-progress .opening-line span{background:var(--garden-gold)}
.has-opening .opening-progress .opening-seal{color:var(--garden-terracotta)}
@keyframes garden-opening-exit{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){html.has-opening body .site-opening{display:none}}
/* Graceful page-to-page transitions where the browser supports them. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:garden-page-out .3s ease both}
::view-transition-new(root){animation:garden-page-in .45s ease both}
@keyframes garden-page-out{to{opacity:0;transform:translateY(-5px)}}
@keyframes garden-page-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 body .royal-mobile-navigation:not([hidden]) a{animation:garden-menu-enter .4s ease both}
 body .royal-mobile-navigation:not([hidden]) a:nth-child(2){animation-delay:.04s}
 body .royal-mobile-navigation:not([hidden]) a:nth-child(3){animation-delay:.08s}
 body .royal-mobile-navigation:not([hidden]) a:nth-child(4){animation-delay:.12s}
 body .royal-mobile-navigation:not([hidden]) a:nth-child(5){animation-delay:.16s}
}
@keyframes garden-menu-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
html.has-opening body .opening-progress{position:relative;bottom:auto;width:min(260px,65vw);height:88px;margin-top:24px}
/* Give the header enough contrast over the light hero as well as inner pages. */
body[data-page="home"] .royal-nav .royal-wordmark,
body[data-page="home"] .royal-nav-links a{color:var(--garden-chocolate)}
body[data-page="home"] .royal-nav nav.royal-nav-links a:is(:hover,[aria-current]){color:var(--garden-terracotta)}
/* A shared navigation ornament can move between pages in supporting browsers. */
@media(prefers-reduced-motion:no-preference){
 body .royal-nav-links a[aria-current="page"] .royal-nav-ornament{view-transition-name:garden-nav-accent}
 ::view-transition-group(garden-nav-accent){animation-duration:.45s;animation-timing-function:ease}
}
