:root{--motion-ease:cubic-bezier(.2,.7,.15,1)}
html{scroll-behavior:auto!important}*,*::before,*::after{transition-timing-function:var(--motion-ease)!important;animation-timing-function:var(--motion-ease)}
.hero{position:relative;isolation:isolate}.hero .wrap,.hero-bottom{position:relative;z-index:1}.hero-wordmark{position:absolute;top:12%;left:-2%;font-family:var(--display);font-size:clamp(100px,23vw,360px);line-height:.8;white-space:nowrap;pointer-events:none;opacity:.045;z-index:0;color:var(--green)}
.hero h1>span{overflow:hidden;display:block}.hero h1 .line-inner{display:block}.motion-on .intro-line{animation:line-enter 1.15s var(--motion-ease) both;animation-delay:var(--delay)}
@keyframes line-enter{from{transform:translateY(110%);opacity:0}to{transform:translateY(0);opacity:1}}
.motion-on .intro-fade{animation:fade-enter 1s var(--motion-ease) both;animation-delay:var(--delay)}
@keyframes fade-enter{from{transform:translateY(22px);opacity:0}to{transform:translateY(0);opacity:1}}
.motion-on .photo-window{animation:photo-focus 1.8s var(--motion-ease) both}
@keyframes photo-focus{from{filter:blur(12px);opacity:.4}to{filter:blur(0);opacity:1}}
.motion-on .motion-reveal{opacity:0;transform:translateY(40px);filter:blur(6px);transition:transform 1s var(--motion-ease),opacity 1s var(--motion-ease),filter 1s var(--motion-ease);transition-delay:var(--delay,0s)}
.motion-on .motion-reveal.in-view{opacity:1;transform:none;filter:blur(0)}
.top{transition:none}.top.frosted{background:#e8dfcddc;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.card .ph img{transition:transform 1.2s var(--motion-ease)!important}.card:hover .ph img{transform:scale(1.05)}
.btn span[aria-hidden]{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;transition:transform .8s var(--motion-ease);flex-shrink:0}.btn:hover span[aria-hidden]{transform:rotate(45deg)}
.card{border:1px solid transparent;border-radius:6px;transition:transform .8s var(--motion-ease);position:relative}.card:after{content:'';position:absolute;inset:0;border:1px solid var(--accent);border-radius:6px;opacity:0;pointer-events:none;transition:opacity .8s var(--motion-ease)}.card:hover:after{opacity:1}.card.in-view:hover{transform:translateY(-4px)}
.strip{mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.strip-track,.orbit-badge svg{animation-timing-function:linear!important}.strip-track{animation-duration:65s!important}.headline-chilli,.footer-chilli{animation:gentle-sway 5s var(--motion-ease) infinite alternate}
@keyframes gentle-sway{from{transform:rotate(-10deg)}to{transform:rotate(10deg)}}
.motion-on .word-light span{opacity:.22;transition:opacity .6s var(--motion-ease)}.motion-on .word-light span.lit{opacity:1}
.carousel-controls{display:flex;justify-content:flex-end;gap:12px;margin:24px 0 0}.carousel-controls button,.lightbox-close{border:1px solid currentColor;border-radius:50%;background:transparent;color:var(--green);width:44px;height:44px;cursor:pointer}.carousel-controls button:disabled{opacity:.3;cursor:default}.photo-carousel{overflow-x:auto;scrollbar-width:none;touch-action:pan-x pan-y;cursor:grab;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}.photo-carousel::-webkit-scrollbar{display:none}.photo-carousel.dragging{cursor:grabbing;scroll-snap-type:none}.photo-carousel .card{scroll-snap-align:start}.photo-carousel img{user-select:none;-webkit-user-drag:none}
.photo-lightbox{border:0;padding:60px 20px 20px;background:#112219f5;width:100vw;height:100dvh;max-width:none;max-height:none;color:var(--cream);margin:0}.photo-lightbox::backdrop{background:#07100dea}.photo-lightbox img{display:block;max-width:100%;max-height:80dvh;margin:auto;object-fit:contain}.photo-lightbox p{text-align:center;margin:15px}.lightbox-close{position:absolute;right:20px;top:12px;color:var(--cream);font-size:28px}.photo-lightbox[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}
.guest-answers details{border-bottom:1px solid #28433330;padding:20px 0}.guest-answers summary{font-size:20px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px}.guest-answers summary:after{content:'+';transition:transform .6s var(--motion-ease)}.guest-answers details[open] summary:after{transform:rotate(45deg)}.guest-answers .faq-answer{overflow:hidden}.guest-answers .faq-answer p{padding-block:16px;margin:0}
.booking-deposit{background:#e8edac55;padding:18px 20px;border-left:3px solid var(--accent);font-size:14px;line-height:1.7;margin:16px 0 24px}.booking-deposit strong{font-size:20px;color:var(--green)}
.instagram-invite{padding-bottom:60px;max-width:720px}.instagram-invite h2{font-family:var(--display);font-size:clamp(48px,6vw,86px);line-height:1}.instagram-invite h2 em{color:var(--lime);font-style:normal}.instagram-invite p:not(.kicker){margin:20px 0;max-width:44ch;line-height:1.7}.instagram-invite .btn{background:var(--lime);color:var(--green)}.footer-wordmark{font-family:var(--display);font-size:clamp(45px,12vw,180px);white-space:nowrap;line-height:1;color:var(--cream);opacity:.18;margin-top:45px}footer{overflow:hidden}
@media(min-width:761px){.cards.photo-carousel{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 80px)/3);gap:40px;padding:10px 0}.cards.photo-carousel .card{margin:0!important}.carousel-controls{margin-top:16px}}
@media(max-width:760px){.cards.photo-carousel{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;gap:20px;padding:10px 0}.cards.photo-carousel .card{margin:0!important}.cards.photo-carousel .card .ph{aspect-ratio:4/4.7}.hero-wordmark{top:35%}.instagram-invite .btn{font-size:12px}.guest-answers{display:block!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-reveal,.intro-line,.intro-fade,.word-light span{opacity:1!important;filter:none!important;transform:none!important}.hero-wordmark{display:none}.photo-window img,.card img,.card,.footer-wordmark{transform:none!important}.strip-track{animation:none!important}.strip{transform:none}.photo-carousel{scroll-snap-type:none}.chilli-cursor{display:none!important}}
