/* Shared navigation: used by every page */
/* Never tile a photo if a card is taller than its source image. */
.image,.signature-stay,.signature-experience{background-repeat:no-repeat}
/* Editorial card imagery must fill its frame. Cover crops preserve the photo;
   they never stretch it or leave an empty band around it. */
.signature-stay,.experience-card,.signature-experience{background-color:var(--deep);background-position:center!important;background-repeat:no-repeat!important;background-size:cover!important}
/* Image motion must never resize a background: that can reveal an empty band on
   portrait cards. Every photograph stays at `cover`; signature cards use a
   separate image layer, so it can zoom without exposing the card underneath. */
.signature-stay,.experience-card,.signature-experience,.stay__feature-image,.dining__image,.image--wayanad,.gallery__item{background-size:cover!important;transition:box-shadow .32s ease,transform .32s cubic-bezier(.2,.72,.2,1),filter .32s ease}
.signature-stay{isolation:isolate;overflow:hidden}.signature-stay:before{z-index:1}.signature-stay:after{background-image:var(--managed-image);background-position:center;background-repeat:no-repeat;background-size:cover;content:"";inset:0;position:absolute;transition:transform .8s cubic-bezier(.2,.72,.2,1);z-index:0}.signature-stay__copy{z-index:2}
.stay__feature-image{isolation:isolate;overflow:hidden;position:relative}.stay__feature-image:after{background-image:var(--managed-image);background-position:center;background-repeat:no-repeat;background-size:cover;content:"";inset:0;pointer-events:none;position:absolute;transform:scale(1);transition:transform 1.05s cubic-bezier(.16,.74,.24,1);will-change:transform;z-index:0}
@media(hover:hover) and (pointer:fine){.signature-stay:hover:after{transform:scale(1.055)}.stay__feature-image:hover:after{transform:scale(1.07)}.signature-stay:hover,.experience-card:hover,.signature-experience:hover,.signature-experience:focus-visible,.stay__feature-image:hover,.dining__image:hover,.image--wayanad:hover,.gallery__item:hover{filter:brightness(1.025)}.signature-stay:hover,.experience-card:hover,.signature-experience:hover,.signature-experience:focus-visible{box-shadow:0 20px 38px rgba(10,28,20,.18);transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.signature-stay,.experience-card,.signature-experience,.stay__feature-image,.dining__image,.image--wayanad,.gallery__item{transition:none}}
/* One motion language for the premium image cards. Older rules changed
   background-size, opacity and card position independently, which felt like a
   tick. These image layers are the only moving element; their parent retains a
   full cover image throughout the transition as a seamless safety layer. */
@media(hover:hover) and (pointer:fine){
  .signature-stay,.signature-experience,.stay__feature-image{filter:none;transform:none}
  .signature-stay:hover,.signature-experience:hover,.signature-experience:focus-visible{box-shadow:none;transform:none}
  .signature-stay:after{transition:transform 1.05s cubic-bezier(.16,.74,.24,1)}
  .signature-stay:hover:after{transform:scale(1.045)}
  .stay__feature-image:hover:after{transform:scale(1.055)}
  .signature-experience{background-size:cover!important;transition:border-color .55s ease}
  .signature-experience:before{opacity:.48!important;transition:opacity .7s ease;z-index:1}
  .signature-experience:after{background:var(--managed-image) center/cover no-repeat!important;opacity:1!important;transform:scale(1);transition:transform 1.05s cubic-bezier(.16,.74,.24,1);will-change:transform;z-index:0}
  .signature-experience:hover:after,.signature-experience:focus-visible:after{opacity:1!important;transform:scale(1.05)}
  .signature-experience:hover:before,.signature-experience:focus-visible:before{opacity:.48!important}
  .signature-experience>div,.signature-experience:hover>div,.signature-experience:focus-visible>div{transform:none;transition:none;z-index:2}
  .signature-experience span,.signature-experience h3,.signature-experience p{color:#fffdf6}
}
/* Homepage image motion: one slow, image-only zoom for every edited/uploaded
   image panel. This final rule deliberately overrides the older mixed hover
   treatments above. */
@media(hover:hover) and (pointer:fine){
  .image-zoom-target{background-position:center!important;background-size:cover!important;filter:none!important;isolation:isolate;overflow:hidden;position:relative;transform:none!important;transition:none!important}
  .image-zoom-target>.image-zoom-layer{background-image:var(--managed-image);background-position:center;background-repeat:no-repeat;background-size:cover;inset:0;pointer-events:none;position:absolute;transform:scale(1);transition:transform 1.15s cubic-bezier(.16,.74,.24,1);will-change:transform;z-index:0}
  .image-zoom-target:hover>.image-zoom-layer,.image-zoom-target:focus-visible>.image-zoom-layer{transform:scale(1.045)}
  .image-zoom-target>:not(.image-zoom-layer){position:relative;z-index:2}
  .signature-stay:after,.stay__feature-image:after,.signature-experience:after{display:none!important}
  .signature-stay:before,.experience-card:before,.signature-experience:before{z-index:1}
  .signature-experience{border-color:var(--line);transition:border-color .45s ease!important}
  .signature-experience:before,.signature-experience:hover:before,.signature-experience:focus-visible:before{opacity:.48!important;transition:opacity .5s ease}
  .signature-experience>div,.signature-experience:hover>div,.signature-experience:focus-visible>div{transform:none!important;transition:none!important}
  .signature-experience span,.signature-experience h3,.signature-experience p{color:#fffdf6!important}
  .signature-experience small{transform:none!important;transition:opacity .35s ease!important}
}
/* The six Small moments cards use the original editorial reveal: a sand layer
   covers the loaded photo at rest, then recedes beneath the fixed text when a
   guest hovers. The separate photo layer supplies the gentle zoom. */
@media(hover:hover) and (pointer:fine){
  .signature-experience:before{display:none!important}
  .signature-experience>.image-zoom-layer{background-image:linear-gradient(145deg,rgba(8,22,15,.72),rgba(8,22,15,.26) 68%,rgba(8,22,15,.68)),var(--managed-image);opacity:0;transform:scale(1);transition:opacity .5s ease,transform 1.1s cubic-bezier(.16,.74,.24,1);z-index:0}
  .signature-experience:after{background:var(--sand)!important;display:block!important;opacity:1!important;transform:none!important;transition:opacity .5s ease!important;z-index:1!important}
  .signature-experience>div{position:relative!important;z-index:4!important}
  .signature-experience span{color:#827a51!important}
  .signature-experience h3{color:var(--ink)!important}
  .signature-experience p{color:#596053!important}
  .signature-experience:hover>.image-zoom-layer,.signature-experience:focus-visible>.image-zoom-layer{opacity:1;transform:scale(1.045)}
  .signature-experience:hover:after,.signature-experience:focus-visible:after{opacity:0!important}
  .signature-experience:hover span,.signature-experience:focus-visible span{color:#e2cd88!important}
  .signature-experience:hover h3,.signature-experience:hover p,.signature-experience:focus-visible h3,.signature-experience:focus-visible p{color:#fffdf6!important}
  .signature-experience small{opacity:1!important;transform:none!important}
  .signature-experience:hover small,.signature-experience:focus-visible small{color:#fffdf6!important}
}
.home-page .site-header{background:#fff;border-bottom:1px solid rgba(21,51,43,.12);color:var(--deep);position:sticky;top:0;transition:background-color .25s ease,box-shadow .25s ease,color .25s ease}.home-page .site-header nav a{color:var(--deep)}.home-page .site-header.is-scrolled{background:rgba(255,255,255,.96);box-shadow:0 7px 22px rgba(10,30,23,.09);position:sticky}.home-page .site-header .nav-book{background:var(--deep);border-color:var(--deep);color:var(--cream)}.home-page .site-header .nav-book:hover{background:var(--gold);border-color:var(--gold);color:var(--deep)}
.contact-strip{background:var(--deep);color:rgba(255,253,245,.88);font-family:var(--mono);font-size:9px;letter-spacing:.1em;line-height:34px;min-height:34px;text-transform:uppercase}.contact-strip__inner{display:flex;gap:15px;justify-content:flex-end;margin-inline:auto;padding-inline:max(34px,calc((100vw - 1280px)/2));width:100%}.contact-strip a{color:inherit;text-decoration:none;transition:color .2s}.contact-strip a:hover{color:var(--gold)}.contact-strip__divider{color:var(--gold)}.contact-strip__short{display:none}.contact-strip+.site-header{background:#fff;border-bottom:1px solid rgba(21,51,43,.12);color:var(--deep);position:relative;top:auto}.contact-strip+.site-header nav a{color:var(--deep)}.home-page .contact-strip+.site-header{position:sticky;top:0}@media(max-width:760px){.contact-strip{font-size:8px;line-height:32px;min-height:32px}.contact-strip__inner{gap:12px;justify-content:center;padding-inline:15px}.contact-strip__long{display:none}.contact-strip__short{display:inline}.contact-strip+.site-header{height:68px}}
html,body{max-width:100%;overflow-x:hidden}.site-header{align-items:center;display:grid;gap:28px;grid-template-columns:245px minmax(0,1fr) auto;height:82px;padding:0 max(34px,calc((100vw - 1280px)/2));width:100%}.brand--mark{align-items:center;display:flex;gap:10px;line-height:1;text-decoration:none}.brand__mark{background-image:url('mihra-mist-logo.jpg');background-position:50% 4%;background-repeat:no-repeat;background-size:255%;border-radius:50%;display:block;flex:0 0 46px;height:46px;overflow:hidden;width:46px}.brand__mark img{display:none}.brand--mark>span:last-child{font-family:var(--serif);font-size:18px;letter-spacing:.1em;line-height:1.05;white-space:nowrap}.brand--mark small{display:block;font-family:var(--mono);font-size:8px;letter-spacing:.2em;margin-top:4px;text-transform:uppercase}.site-header nav{align-items:center;display:flex;flex-wrap:nowrap;gap:20px;justify-content:center;min-width:0}.site-header nav a{font-size:9px;line-height:1.1;white-space:nowrap}.site-header .nav-book{justify-self:end;white-space:nowrap}@media(max-width:1150px){.site-header{gap:16px;grid-template-columns:205px minmax(0,1fr) auto;padding-inline:22px}.site-header nav{gap:12px}.site-header nav a{font-size:8px}.site-header .nav-book{font-size:9px;padding:11px 12px}}@media(max-width:760px){.site-header{display:flex;height:68px;justify-content:space-between;padding:0 20px}.site-header nav{display:none}.site-header .nav-book{font-size:8px;padding:10px 11px}.brand__mark{flex-basis:38px;height:38px;width:38px}.brand--mark>span:last-child{font-size:15px}}
