/* Stable content, native scrolling, small decorative movements. */
.site-header{position:fixed;height:var(--header-height);background:linear-gradient(180deg,#260b0ab8 0%,#260b0a4d 65%,#260b0a00 100%);border-bottom-color:transparent;transition:background-color .25s,border-color .25s}
.site-header.is-scrolled{background-color:var(--wine-deep);border-bottom-color:rgba(223,188,133,.2)}
.reading-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:40;pointer-events:none}
.reading-progress span{display:block;height:100%;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left center}
.hero-photo,.package-photo{overflow:hidden}
.package-photo img,.package-photo:hover img{transform:none;transition:none}
.button:hover,.floating-contact:hover{transform:none}
.package-copy{position:relative}
.package-price strong{font-variant-numeric:tabular-nums}
.package-nav{position:relative;z-index:20}
.package-nav a{position:relative;transition:color .2s}
.package-nav a:after{content:"";height:1px;position:absolute;left:0;right:0;bottom:12px;background:var(--gold);transform-origin:left;transform:scaleX(0);transition:transform .25s}
.package-nav a:hover:after,.package-nav a.is-current:after{transform:scaleX(1)}
.package-nav a.is-current{color:var(--gold)}
.celebration-ribbon{background:var(--wine);color:var(--cream);border-block:1px solid #dfbc8530;overflow:hidden;padding:22px 0;position:relative}
.ribbon-track{display:flex;width:max-content;transform:translateX(-70px)}
.ribbon-track>span{display:flex;align-items:center;flex:none;gap:38px;white-space:nowrap;font-family:var(--display);font-size:clamp(27px,3.1vw,44px);line-height:1.2;padding-right:38px}
.ribbon-track i{font-family:Georgia,serif;font-size:.44em;font-style:normal;color:var(--gold)}
.header-reserve .icon,.text-link .icon,.direct-contact a .icon:last-child{transition:transform .25s}
.header-reserve:hover .icon,.direct-contact a:hover .icon:last-child{transform:translateX(4px)}
.desktop-nav a{position:relative}
.desktop-nav a:after{content:"";position:absolute;bottom:6px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.desktop-nav a:hover:after{transform:scaleX(1)}
@media(min-width:851px){.package-nav{position:sticky;top:var(--header-height)}.package-section{scroll-margin-top:72px}.package-nav-inner{min-height:72px}.reservation-copy{top:calc(var(--header-height) + 30px)}}
@media(max-width:850px){.celebration-ribbon{padding:19px 0}.ribbon-track>span{gap:24px;padding-right:24px;font-size:31px}}
@media(max-width:600px){.celebration-ribbon{padding:17px 0}.ribbon-track>span{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ribbon-track{transform:none!important}.site-header,.package-nav a:after{transition:none}}
@media print{.reading-progress,.celebration-ribbon{display:none!important}.site-header{position:relative}.package-nav{position:relative;top:0}*{filter:none!important;animation:none!important;transition:none!important}}
