/* Motion edition: editorial pacing with the existing Maistrali colour palette. */
body.ms-modern .ms-site{--ms-motion-gold:#bda064;--ms-motion-ease:cubic-bezier(.22,.73,.22,1)}
body.ms-modern .ms-site [id]{scroll-margin-top:92px}

/* Header moves with scroll direction. Preserve the original transparent top state. */
body.ms-modern .ms-header{transition:transform .63s cubic-bezier(.22,.73,.22,1),opacity .43s ease,background .4s,box-shadow .4s,border-color .4s}
body.ms-modern .ms-header.is-hidden:not(:focus-within){opacity:0;pointer-events:none}

/* Inset sweep on focus and hover echoes the reference without changing Maistrali colours. */
body.ms-modern .ms-site .ms-button,body.ms-modern .ms-site .ms-google-reviews-cta{position:relative;isolation:isolate;overflow:hidden;transition:color .42s ease,border-color .42s ease,transform .42s cubic-bezier(.22,.73,.22,1),box-shadow .42s ease}
body.ms-modern .ms-site .ms-button:before,body.ms-modern .ms-site .ms-google-reviews-cta:before{content:"";position:absolute;z-index:-1;inset:0;transform:translateX(-102%);transition:transform .55s cubic-bezier(.22,.73,.22,1);pointer-events:none}
body.ms-modern .ms-site .ms-button:is(:hover,:focus-visible):before,body.ms-modern .ms-site .ms-google-reviews-cta:is(:hover,:focus-visible):before{transform:translateX(0)}
body.ms-modern .ms-site .ms-button-dark:before,body.ms-modern .ms-site .ms-google-reviews-cta:before{background:#bda064}
body.ms-modern .ms-site .ms-button-light:before,body.ms-modern .ms-site .ms-button-outline:before{background:#103b49}
body.ms-modern .ms-site .ms-button-dark:is(:hover,:focus-visible),body.ms-modern .ms-site .ms-google-reviews-cta:is(:hover,:focus-visible){color:#103b49!important;box-shadow:0 10px 25px rgba(16,59,73,.15)}
body.ms-modern .ms-site .ms-button-light:is(:hover,:focus-visible),body.ms-modern .ms-site .ms-button-outline:is(:hover,:focus-visible){color:#fff!important;border-color:#103b49}
body.ms-modern .ms-site .ms-text-link{position:relative;border-bottom-color:rgba(16,59,73,.27);transition:color .35s ease}
body.ms-modern .ms-site .ms-text-link:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:#bda064;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.22,.73,.22,1)}
body.ms-modern .ms-site .ms-text-link:is(:hover,:focus-visible):after{transform:scaleX(1)}

/* A dedicated editorial chapter rail that ends before the closing reservation panel. */
.ms-chapter-nav{display:none}
@media (min-width:1540px) and (min-height:800px){
  .ms-chapter-nav{display:grid;grid-template-rows:repeat(7,minmax(0,1fr));position:fixed;z-index:38;top:50%;left:0;width:83px;height:min(84svh,790px);padding:16px 6px 16px 10px;transform:translate(-105%,-50%);opacity:0;visibility:hidden;pointer-events:none;background:rgba(248,247,243,.95);border:1px solid rgba(189,160,100,.26);border-left:0;border-radius:0 17px 17px 0;box-shadow:6px 18px 40px rgba(16,59,73,.13);backdrop-filter:blur(14px);transition:opacity .42s ease,transform .55s cubic-bezier(.22,.73,.22,1),visibility .42s}
  .ms-chapter-nav.is-present{transform:translate(0,-50%);opacity:1;visibility:visible;pointer-events:auto}
  .ms-chapter-line{position:absolute;top:22px;bottom:22px;left:8px;width:2px;background:rgba(16,59,73,.13)}
  .ms-chapter-line:after{content:"";position:absolute;inset:0 0 auto;height:var(--ms-rail-progress,0%);max-height:100%;background:#bda064;transition:height .2s linear}
  .ms-chapter-nav a{position:relative;display:grid;place-items:center;min-width:0;min-height:0;color:#47626a!important;font-size:.67rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;text-decoration:none;transition:background .25s,color .25s}
  .ms-chapter-nav a span:last-child{position:absolute;top:50%;left:50%;display:block;transform:translate(-50%,-50%) rotate(-90deg);transform-origin:center center}
  .ms-chapter-nav a:hover,.ms-chapter-nav a.is-current{color:#103b49!important;background:rgba(189,160,100,.13)}
  .ms-chapter-nav a:focus-visible{outline:2px solid #103b49;outline-offset:-4px;background:rgba(189,160,100,.13)}
  .ms-chapter-dot{position:absolute;z-index:1;top:50%;left:-6px;width:8px;height:8px;transform:translateY(-50%);border:1px solid #bda064;border-radius:50%;background:#f8f7f3;transition:background .3s,scale .3s}
  .ms-chapter-nav a.is-current .ms-chapter-dot{background:#bda064;scale:1.25}
  .ms-menu-open .ms-chapter-nav,.ms-rate-open .ms-chapter-nav{opacity:0;pointer-events:none}
}
@media (min-width:1540px) and (min-height:800px) and (max-height:950px){
  .ms-chapter-nav a{font-size:.59rem;letter-spacing:.025em}
}

/* The sun returns to the welcome section; the stay section keeps a calm translucent shape. */
.ms-intro{position:relative;isolation:isolate}
.ms-intro:before{content:none}
.ms-intro:after{content:"";position:absolute;z-index:0;top:26%;right:-15vw;width:min(39vw,530px);aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(from -5deg,rgba(16,59,73,.29) 0deg .4deg,transparent .4deg 2.7deg);-webkit-mask:radial-gradient(circle,transparent 0 47%,#000 47.3% 68%,transparent 68.3%);mask:radial-gradient(circle,transparent 0 47%,#000 47.3% 68%,transparent 68.3%);pointer-events:none;animation:ms-intro-ring 65s linear infinite}
.ms-intro-heading,.ms-intro-copy{position:relative;z-index:1}
@keyframes ms-intro-ring{to{transform:rotate(360deg)}}
@keyframes ms-video-sun-turn{to{transform:translateY(-50%) rotate(360deg)}}
@keyframes ms-hero-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

/* The section moves as a sequence: eyebrow, headline, supporting copy, then image. */
.ms-motion-ready .ms-reveal.ms-intro,.ms-motion-ready .ms-reveal.ms-heritage,.ms-motion-ready .ms-reveal.ms-stays,.ms-motion-ready .ms-reveal.ms-rooms,.ms-motion-ready .ms-reveal.ms-discover,.ms-motion-ready .ms-reveal.ms-video-section,.ms-motion-ready .ms-reveal.ms-experience,.ms-motion-ready .ms-reveal.ms-owner-gallery,.ms-motion-ready .ms-reveal.ms-google-reviews{opacity:1;transform:none}
.ms-motion-ready .ms-reveal :is(.ms-intro-heading,.ms-heritage>div:first-child,.ms-section-top,.ms-feature-intro,.ms-video-copy,.ms-experience-copy,.ms-owner-gallery-heading,.ms-google-reviews-heading){opacity:0;transform:translateY(31px);transition:opacity .9s var(--ms-motion-ease),transform .9s var(--ms-motion-ease)}
.ms-motion-ready .ms-reveal.is-visible :is(.ms-intro-heading,.ms-heritage>div:first-child,.ms-section-top,.ms-feature-intro,.ms-video-copy,.ms-experience-copy,.ms-owner-gallery-heading,.ms-google-reviews-heading){opacity:1;transform:translateY(0)}
.ms-motion-ready .ms-reveal :is(.ms-intro-copy,.ms-heritage-copy,.ms-experience-copy>p:not(.ms-eyebrow),.ms-owner-gallery-heading .ms-text-link){opacity:0;transform:translateY(23px);transition:opacity .9s var(--ms-motion-ease) .19s,transform .9s var(--ms-motion-ease) .19s}
.ms-motion-ready .ms-reveal.is-visible :is(.ms-intro-copy,.ms-heritage-copy,.ms-experience-copy>p:not(.ms-eyebrow),.ms-owner-gallery-heading .ms-text-link){opacity:1;transform:translateY(0)}
.ms-motion-ready .ms-reveal :is(.ms-feature-intro,.ms-video-copy,.ms-section-top>div) > :is(.ms-eyebrow,h2,p:last-child){opacity:0;transform:translateY(17px);transition:opacity .8s var(--ms-motion-ease),transform .8s var(--ms-motion-ease)}
.ms-motion-ready .ms-reveal.is-visible :is(.ms-feature-intro,.ms-video-copy,.ms-section-top>div) > :is(.ms-eyebrow,h2,p:last-child){opacity:1;transform:translateY(0)}
.ms-motion-ready .ms-reveal.is-visible :is(.ms-feature-intro,.ms-video-copy,.ms-section-top>div) > h2{transition-delay:.11s}
.ms-motion-ready .ms-reveal.is-visible :is(.ms-feature-intro,.ms-video-copy,.ms-section-top>div) > p:last-child:not(.ms-eyebrow){transition-delay:.24s}
.ms-motion-ready .ms-reveal :is(.ms-button,.ms-google-reviews-cta){opacity:0;transform:translateY(16px);transition:opacity .65s var(--ms-motion-ease) .26s,transform .65s var(--ms-motion-ease) .26s,color .42s,border-color .42s,box-shadow .42s}
.ms-motion-ready .ms-reveal.is-visible :is(.ms-button,.ms-google-reviews-cta){opacity:1;transform:translateY(0)}
.ms-motion-ready .ms-reveal.is-visible :is(.ms-button,.ms-google-reviews-cta):is(:hover,:focus-visible){transform:translateY(-2px)}

/* Keep the original room, Discover, experience and photo cards from the references. */

/* Section numbers echo the previous edition without changing the carousel cards. */
.ms-home :is(.ms-stays,.ms-rooms,.ms-discover,.ms-video-section,.ms-google-reviews,.ms-experience,.ms-owner-gallery-home){position:relative}
.ms-home .ms-chapter-numeral{position:absolute;z-index:0;top:clamp(18px,3.5vw,65px);right:max(26px,calc((100vw - 1330px)/2));display:block;color:transparent;-webkit-text-stroke:1px rgba(16,59,73,.25);font:300 clamp(8rem,18vw,19rem)/.8 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.1em;pointer-events:none;user-select:none;opacity:.91}
.ms-home .ms-video-section .ms-chapter-numeral{right:5%;-webkit-text-stroke-color:rgba(213,189,133,.25)}
.ms-home .ms-google-reviews .ms-chapter-numeral{right:4%;-webkit-text-stroke-color:rgba(16,59,73,.12)}
.ms-home .ms-experience .ms-chapter-numeral{right:3%;-webkit-text-stroke-color:rgba(16,59,73,.11)}
.ms-home .ms-stays>.ms-wrap,.ms-home .ms-rooms>.ms-feature-intro,.ms-home .ms-discover>.ms-feature-intro,.ms-home .ms-rooms>.ms-carousel,.ms-home .ms-discover>.ms-carousel,.ms-home .ms-discover>.ms-feature-more,.ms-home .ms-video-section>.ms-video-copy,.ms-home .ms-video-section>.ms-video-frame,.ms-home .ms-google-reviews>.ms-google-reviews-inner,.ms-home .ms-experience>.ms-experience-grid,.ms-home .ms-owner-gallery-home>.ms-owner-gallery-heading,.ms-home .ms-owner-gallery-home>.ms-owner-carousel{position:relative;z-index:1}

/* Fine sand remains part of the background, with quiet sage rings near the imagery. */
.ms-home .ms-stays{background-color:#e9e4da;background-image:linear-gradient(90deg,#e9e4da 0%,rgba(233,228,218,.97) 51%,rgba(233,228,218,.74) 100%),url("motif-transparent.png");background-repeat:no-repeat;background-position:center,right center;background-size:100% 100%,42% auto}
.ms-home .ms-stays:before{opacity:.12}
.ms-home .ms-stays:after{content:"";position:absolute;z-index:0;top:48%;left:-17vw;width:min(49vw,680px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(249,246,233,.43) 0 35%,transparent 35.5%),repeating-conic-gradient(from -4deg,rgba(16,59,73,.23) 0deg .42deg,transparent .42deg 2.8deg);-webkit-mask:radial-gradient(circle,transparent 0 24%,#000 24.3% 70%,transparent 70.3%);mask:radial-gradient(circle,transparent 0 24%,#000 24.3% 70%,transparent 70.3%);transform:translateY(-50%);opacity:.42;pointer-events:none}
.ms-home .ms-owner-gallery-home{background-color:#f3f0e9;background-image:linear-gradient(90deg,#f3f0e9 0%,rgba(243,240,233,.96) 50%,rgba(243,240,233,.73) 100%),url("motif-transparent.png");background-repeat:no-repeat;background-position:center,right center;background-size:100% 100%,43% auto}
.ms-home .ms-rooms:after,.ms-home .ms-discover:after{content:"";position:absolute;z-index:0;width:min(39vw,580px);aspect-ratio:1;border:1px solid rgba(123,162,148,.33);border-radius:50%;box-shadow:0 0 0 45px rgba(123,162,148,.055),0 0 0 102px rgba(123,162,148,.032);pointer-events:none}
.ms-home .ms-rooms:after{top:12%;left:-17%}
.ms-home .ms-discover:after{right:-15%;bottom:13%}
/* A pale, rotating sun sits behind the video, from the left towards its centre. */
.ms-video-sun{position:absolute;z-index:0;top:57%;left:-15vw;width:min(72vw,980px);aspect-ratio:1;border-radius:50%;pointer-events:none;transform:translateY(-50%);animation:ms-video-sun-turn 90s linear infinite}
.ms-video-sun:before{content:"";position:absolute;inset:32%;border:2px solid rgba(231,226,202,.34);border-radius:50%;box-shadow:0 0 0 28px rgba(231,226,202,.045),0 0 0 70px rgba(231,226,202,.025)}
.ms-video-sun:after{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from -4deg,rgba(231,226,202,.53) 0deg .38deg,transparent .38deg 3.5deg);-webkit-mask:radial-gradient(circle,transparent 0 35%,#000 35.2% 48%,transparent 48.3%);mask:radial-gradient(circle,transparent 0 35%,#000 35.2% 48%,transparent 48.3%)}

/* Editorial word and three editable facts describe the property with verified details. */
.ms-home .ms-heritage{position:relative;isolation:isolate}
.ms-home .ms-heritage:before{content:"MAISTRALI";position:absolute;z-index:-1;top:-10%;left:-7%;color:rgba(16,59,73,.035);font:300 clamp(6rem,14vw,14rem)/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.065em;white-space:nowrap;pointer-events:none}
.ms-home .ms-experience-copy{position:relative;isolation:isolate}
.ms-editorial-word{position:absolute;z-index:-1;top:12%;left:-11%;color:rgba(116,158,141,.13);font:300 clamp(5rem,8.5vw,10rem)/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.055em;white-space:nowrap;pointer-events:none;user-select:none}
.ms-home .ms-experience .ms-experience-loc{margin:0 0 11px;color:#8a744f;font:italic 1rem/1.45 Georgia,serif;letter-spacing:.03em}
.ms-home .ms-experience-copy h2{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(2.4rem,3.7vw,4.45rem);font-weight:300;line-height:1.14;letter-spacing:.015em;text-transform:uppercase}
.ms-experience-facts{max-width:520px;margin:28px 0 29px;padding:0;list-style:none}
.ms-experience-facts li{position:relative;display:grid;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:15px;min-height:66px;padding:11px 0;border-top:1px solid rgba(16,59,73,.16)}
.ms-experience-facts li:last-child{border-bottom:1px solid rgba(16,59,73,.16)}
.ms-experience-fact-dot{width:8px;height:8px;border:1px solid #729c89;border-radius:50%;background:#e7efe8;box-shadow:0 0 0 5px rgba(114,156,137,.12)}
.ms-experience-facts li>div{display:flex;flex-direction:column;gap:2px}
.ms-experience-facts strong{color:#103b49;font-size:.83rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.ms-experience-facts li>div>span{color:#577069;font-size:.83rem;line-height:1.5}

/* Every editorial text link is an actual button with the same inset hover as the calls to action. */
body.ms-modern .ms-site .ms-text-link{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:52px;padding:11px 22px;overflow:hidden;isolation:isolate;border:1px solid #ad9364;background:transparent;color:#103b49!important;text-align:center;line-height:1.45;transition:color .42s ease,border-color .42s ease,box-shadow .42s ease,transform .42s cubic-bezier(.22,.73,.22,1)}
body.ms-modern .ms-site .ms-text-link:after{z-index:-1;inset:0;width:auto;height:auto;background:#103b49;transform:translateX(-102%);transform-origin:center;transition:transform .55s cubic-bezier(.22,.73,.22,1)}
body.ms-modern .ms-site .ms-text-link:is(:hover,:focus-visible){color:#fff!important;border-color:#103b49;box-shadow:0 11px 25px rgba(16,59,73,.15);transform:translateY(-2px)}
body.ms-modern .ms-site .ms-text-link:is(:hover,:focus-visible):after{transform:translateX(0)}
body.ms-modern .ms-site .ms-text-link:focus-visible{outline:2px solid #bda064;outline-offset:3px}

/* Inner page banners arrive in the same visual language. */
.ms-inner .ms-page-hero .ms-wrap>*{animation:ms-hero-rise .9s var(--ms-motion-ease) both}
.ms-inner .ms-page-hero .ms-wrap>*:nth-child(2){animation-delay:.13s}
.ms-inner .ms-page-hero .ms-wrap>*:nth-child(3){animation-delay:.24s}
.ms-inner .ms-page-hero .ms-wrap>*:nth-child(4){animation-delay:.35s}
.ms-inner .ms-page-hero:after{content:"";position:absolute;right:7%;top:20%;width:min(30vw,420px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(213,189,133,.3);box-shadow:0 0 0 50px rgba(213,189,133,.045),0 0 0 100px rgba(213,189,133,.035);pointer-events:none}
.ms-inner .ms-article-hero:after{inset:0;width:auto;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;background:linear-gradient(0deg,rgba(8,38,48,.58),transparent 55%),radial-gradient(ellipse at 77% 62%,rgba(213,189,133,.16),transparent 40%)}

@media (max-width:900px){
  .ms-intro:after{top:37%;right:-23vw;width:63vw;opacity:.58}
  .ms-home .ms-stays:after{left:-23vw;width:70vw;opacity:.34}
  .ms-video-sun{left:-32vw;width:110vw;opacity:.76}
  .ms-home .ms-chapter-numeral{font-size:clamp(6rem,22vw,11rem);opacity:.6}
  .ms-home .ms-rooms:after,.ms-home .ms-discover:after{width:52vw;box-shadow:0 0 0 26px rgba(123,162,148,.042),0 0 0 62px rgba(123,162,148,.025)}
  .ms-editorial-word{left:-4%;font-size:clamp(5rem,14vw,8rem)}
}
@media (max-width:680px){
  .ms-intro:after{top:48%;right:-58vw;width:98vw;opacity:.37}
  .ms-home .ms-stays:after{top:28%;left:-52vw;width:112vw;opacity:.28}
  .ms-video-sun{top:62%;left:-55vw;width:145vw;opacity:.63}
  .ms-home .ms-chapter-numeral{top:29px;right:25px;font-size:clamp(5rem,26vw,8rem);opacity:.58}
  .ms-home .ms-stays,.ms-home .ms-owner-gallery-home{background-size:100% 100%,72% auto;background-position:center,right top}
  .ms-home .ms-rooms:after,.ms-home .ms-discover:after{width:74vw;opacity:.6}
  .ms-editorial-word{top:15%;left:0;font-size:clamp(5rem,19vw,7.5rem)}
  .ms-home .ms-experience-copy h2{font-size:clamp(2.25rem,9.7vw,3.4rem)}
  .ms-home .ms-heritage:before{top:20%;left:-5%;font-size:24vw}
  body.ms-modern .ms-site .ms-text-link{min-height:48px;padding:11px 17px;white-space:normal}
  .ms-inner .ms-page-hero:after{right:-18%;top:24%;width:70vw;opacity:.55}
  .ms-inner .ms-article-hero:after{inset:0;width:auto;opacity:1}
}
@media (prefers-reduced-motion:reduce){
  .ms-intro:after,.ms-video-sun{animation:none}
  body.ms-modern .ms-header,body.ms-modern .ms-site .ms-button,body.ms-modern .ms-site .ms-google-reviews-cta,body.ms-modern .ms-site .ms-button:before,body.ms-modern .ms-site .ms-google-reviews-cta:before,body.ms-modern .ms-site .ms-text-link:after,.ms-chapter-nav{transition:none!important}
  .ms-inner .ms-page-hero .ms-wrap>*{animation:none}
  .ms-motion-ready .ms-reveal :is(.ms-intro-heading,.ms-intro-copy,.ms-heritage>div:first-child,.ms-heritage-copy,.ms-section-top,.ms-feature-intro,.ms-video-copy,.ms-experience-copy,.ms-owner-gallery-heading,.ms-google-reviews-heading),.ms-motion-ready .ms-reveal :is(.ms-feature-intro,.ms-video-copy,.ms-section-top>div)>:is(.ms-eyebrow,h2,p:last-child){opacity:1;transform:none;transition:none}
  .ms-motion-ready .ms-reveal :is(.ms-button,.ms-google-reviews-cta){opacity:1;transform:none;transition:none}
  body.ms-modern .ms-site .ms-text-link,body.ms-modern .ms-site .ms-text-link:after{transition:none!important}
}
