/* Homepage refinement: one serif family, readable labels, the opening carousel, and calmer motion. Loaded last. */
:root{--serif:'Cormorant Garamond',Georgia,serif;--ease-out:cubic-bezier(0.23,1,0.32,1)}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,.hero h1{font-family:var(--serif);font-weight:500;text-wrap:balance}
.hero h1{letter-spacing:-.035em}
.hero h1 em,h2 em{font-weight:500;font-style:italic}
p{text-wrap:pretty}
.hero-eyebrow,.hero-plate,.hero-bottom,.hero-discover>span,.chapter-label,.opening-strip-intro>span{font-size:10.5px!important;letter-spacing:.2em}
.hero-copy>p{font-size:clamp(19px,1.6vw,24px)}

/* Opening carousel */
.hero-picture img.drift{animation:arrival 2s var(--ease-out) both,drift 9s cubic-bezier(.33,.0,.2,1) both}
@keyframes drift{from{scale:1.07}to{scale:1}}
.hero-pause{position:absolute;z-index:3;right:4.5vw;top:132px;width:38px;height:38px;border-radius:50%;border:1px solid #f8efdc66;background:#1c16104d;backdrop-filter:blur(6px);color:#f8efdc;display:grid;place-items:center;padding:0;cursor:pointer;transition:background-color .2s ease,transform .16s var(--ease-out)}
.hero-pause::before,.hero-pause::after{content:'';width:3px;height:12px;background:currentColor;border-radius:1px;grid-area:1/1}
.hero-pause::before{transform:translateX(-3px)}.hero-pause::after{transform:translateX(3px)}
.hero-pause[data-state=paused]::before{width:0;height:0;background:none;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent;transform:translateX(2px)}
.hero-pause[data-state=paused]::after{display:none}
.hero-pause:active{transform:scale(.94)}
.hero-pause:focus-visible{outline:2px solid #f8efdc;outline-offset:3px}
@media (hover:hover) and (pointer:fine){.hero-pause:hover{background:#1c16107a}}
.opening-choice{position:relative}
.opening-choice::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:#9f6b3f;transform:scaleX(0);transform-origin:left}
.opening-choice.is-timing::after{animation:timing var(--interval,6500ms) linear both}
.opening-choice[aria-pressed=true]{border-color:#e4d6c3}
@keyframes timing{to{transform:scaleX(1)}}
.opening-choice>span{font-size:11px!important;letter-spacing:.02em}
.opening-choice img{border-radius:6px;transition:opacity .25s ease,transform .5s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.opening-choice:hover img{opacity:1;transform:translateY(-3px)}}

/* Buttons and links */
.hero-book,.button,.nav-book{transition:background-color .2s ease,color .2s ease,transform .16s var(--ease-out),box-shadow .25s ease}
.hero-book:active,.button:active,.nav-book:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
  .hero-book:hover,.button:hover{box-shadow:0 12px 28px -14px #2a1b0f99}
  #navigation a{position:relative}
  #navigation a::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}
  #navigation a:hover::after{transform:scaleX(1)}
}

/* Photographs settle in as they scroll into view */
.reveal{transition-timing-function:var(--ease-out)!important}
main img{transition:transform .9s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.collection img:hover,.dining img:hover,.garden img:hover{transform:scale(1.025)}}

@media (max-width:760px){.hero-pause{top:auto;bottom:96px;right:6vw}}
@media (prefers-reduced-motion:reduce){
  .hero-picture img.drift{animation:none}
  .opening-choice.is-timing::after{animation:none}
  main img{transition:none}
}
