.glass{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:rgba(255,255,255,.1);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.dark .glass{background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.1)}.hover-underline:after{bottom:-4px;background:#14b8a6}.hover-underline:hover:after{width:100%}.bg-teal{background-color:#7dcab9}.bg-cream{background-color:#f9f3e9}.bg-charcoal{background-color:#2a3342}.text-teal{color:#7dcab9}.text-cream{color:#f9f3e9}.text-charcoal{color:#2a3342}.border-teal{border-color:#7dcab9}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-100%)}}.animate-float{animation:float 5s ease-in-out infinite}@media(max-width:768px){.animate-float{animation-duration:7s}}@media(prefers-reduced-motion:reduce){.animate-float{animation:none}}.animate-fade-in{animation:fadeIn .8s ease-out forwards}@media(prefers-reduced-motion:reduce){.animate-fade-in{animation:none;opacity:1;transform:none}}.animate-marquee{animation:marquee 20s linear infinite}@media(prefers-reduced-motion:reduce){.animate-marquee{animation:none}}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.curve-bottom,.curve-top{position:relative}.curve-top:before{top:clamp(-50px,-5vw,-20px);border-top-left-radius:50% 100%;border-top-right-radius:50% 100%}.curve-bottom:after,.curve-top:before{content:"";position:absolute;left:0;width:100%;height:clamp(20px,5vw,50px);background-color:inherit}.curve-bottom:after{bottom:clamp(-50px,-5vw,-20px);border-bottom-left-radius:50% 100%;border-bottom-right-radius:50% 100%}.glass{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2)}.dark .glass{background:rgba(42,51,66,.15);border:1px solid rgba(42,51,66,.2)}@supports(backdrop-filter:blur(10px)){.glass{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@media(max-width:768px){.glass{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}}}.scroll-container{overflow-x:auto;overflow-y:hidden;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:1rem;margin-bottom:-1rem;scroll-padding:clamp(.5rem,3vw,1rem);scroll-snap-type:x mandatory}.scroll-container::-webkit-scrollbar{display:none}.scroll-item{display:inline-block;white-space:normal;vertical-align:top;scroll-snap-align:start;width:calc(100% - clamp(1rem,5vw,2rem));max-width:300px;margin-right:clamp(.5rem,3vw,1rem)}@media(min-width:640px){.scroll-item{width:calc(50% - clamp(.75rem,4vw,1.5rem))}}@media(min-width:1024px){.scroll-item{width:calc(33.333% - clamp(.67rem,3vw,1.33rem))}}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-scale{transition:transform .3s ease}.hover-underline{position:relative}.hover-underline:after{content:"";position:absolute;width:0;height:2px;bottom:-2px;left:0;background-color:#7dcab9;transition:width .3s ease}.img-zoom-container{overflow:hidden}.img-zoom{transition:transform .5s ease}@media(hover:hover){.hover-lift:hover{transform:translateY(-5px);box-shadow:0 10px 25px -5px rgba(0,0,0,.1)}.hover-scale:hover{transform:scale(1.05)}.img-zoom:hover{transform:scale(1.1)}.hover-underline:hover:after{width:100%}}@media(hover:none){.hover-lift:active{transform:translateY(-3px);box-shadow:0 5px 15px -5px rgba(0,0,0,.1)}.hover-scale:active{transform:scale(1.03)}.img-zoom:active{transform:scale(1.05)}a,button{-webkit-tap-highlight-color:rgba(125,202,185,.2)}}.diagonal-section{position:relative;padding:clamp(2rem,6vw,6rem) 0;margin-top:clamp(2rem,6vw,6rem);margin-bottom:clamp(2rem,6vw,6rem);transform:skewY(-3deg)}.diagonal-section>*{transform:skewY(3deg)}@media(max-width:640px){.diagonal-section{transform:skewY(-2deg)}.diagonal-section>*{transform:skewY(2deg)}}.circle-element{border-radius:50%;aspect-ratio:1}.dot-pattern{background-image:radial-gradient(#7dcab9 1px,transparent 0);background-size:clamp(10px,2vw,20px) clamp(10px,2vw,20px)}@keyframes shimmer-sweep{0%{background-position:-200% 0}to{background-position:200% 0}}.img-loading-shimmer{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(125,202,185,.08) 30%,rgba(125,202,185,.22) 50%,rgba(125,202,185,.08) 70%);background-size:200% 100%;animation:shimmer-sweep 1.4s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.img-loading-shimmer{animation:none}}.reveal{opacity:0;animation:fadeIn .7s ease-out forwards}@media(prefers-reduced-motion:reduce){.reveal{animation:none;opacity:1;transform:none}}.clip-expand{clip-path:circle(0 at center);transition:clip-path .8s ease}.clip-expand.active{clip-path:circle(100% at center)}@media(prefers-reduced-motion:reduce){.clip-expand{clip-path:circle(100% at center);transition:none}}.staggered-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));grid-auto-rows:minmax(150px,auto);gap:clamp(.75rem,3vw,1.5rem)}@media(min-width:640px){.staggered-grid>div:nth-child(odd){margin-top:clamp(1rem,4vw,2rem)}}.asymmetric-layout{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.75rem,3vw,1.5rem)}@media(min-width:640px){.asymmetric-layout{grid-template-columns:repeat(8,1fr)}}@media(min-width:1024px){.asymmetric-layout{grid-template-columns:repeat(12,1fr)}}.scroll-indicator{position:fixed;top:0;left:0;height:3px;background-color:#7dcab9;z-index:100;width:0;transition:width .1s ease}@media(max-width:640px){.scroll-indicator{height:2px}}.responsive-padding{padding:clamp(1rem,5vw,3rem)}.responsive-margin{margin:clamp(1rem,5vw,3rem)}.responsive-gap{gap:clamp(.5rem,3vw,1.5rem)}.responsive-container{width:100%;max-width:1440px;margin-left:auto;margin-right:auto;padding-left:clamp(1rem,5vw,3rem);padding-right:clamp(1rem,5vw,3rem)}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.aspect-portrait{aspect-ratio:3/4}@media(max-width:640px){.sm-aspect-square{aspect-ratio:1/1}}@keyframes aurora-drift-1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(8vw,-6vh) scale(1.15)}}@keyframes aurora-drift-2{0%,to{transform:translate(0) scale(1.1)}50%{transform:translate(-10vw,5vh) scale(.95)}}@keyframes aurora-drift-3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(5vw,8vh) scale(1.2)}}.hero-aurora{position:absolute;border-radius:50%;filter:blur(80px);will-change:transform}@media(prefers-reduced-motion:reduce){.hero-aurora{animation:none!important}}.hero-aurora-1{width:55vw;height:55vw;top:-15%;left:-10%;background:radial-gradient(circle,rgba(125,202,185,.28),transparent 70%);animation:aurora-drift-1 18s ease-in-out infinite}.hero-aurora-2{width:45vw;height:45vw;bottom:-10%;right:-8%;background:radial-gradient(circle,rgba(60,136,135,.35),transparent 70%);animation:aurora-drift-2 22s ease-in-out infinite}.hero-aurora-3{width:35vw;height:35vw;top:35%;left:30%;background:radial-gradient(circle,rgba(125,202,185,.15),transparent 70%);animation:aurora-drift-3 26s ease-in-out infinite}@keyframes ring-orbit{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hero-ring-stage{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.hero-ring{grid-area:1/1;border-radius:50%;border:1px solid rgba(125,202,185,.3);will-change:transform}@media(prefers-reduced-motion:reduce){.hero-ring{animation:none!important}}.hero-ring-1{width:clamp(15rem,42vw,24rem);height:clamp(9rem,25vw,14rem);animation:ring-orbit 36s linear infinite}.hero-ring-2{width:clamp(18rem,54vw,30rem);height:clamp(11rem,32vw,17rem);border-color:rgba(125,202,185,.14);animation:ring-orbit 52s linear infinite reverse}@keyframes scroll-line-drop{0%{transform:translateY(-100%)}65%,to{transform:translateY(260%)}}.scroll-line{position:relative;display:block;width:1px;height:3.25rem;overflow:hidden;background:rgba(125,202,185,.25)}.scroll-line:after{content:"";position:absolute;top:0;left:0;width:100%;height:40%;background:linear-gradient(180deg,transparent,#7dcab9);animation:scroll-line-drop 2.4s cubic-bezier(.4,0,.2,1) infinite}@media(prefers-reduced-motion:reduce){.scroll-line:after{animation:none}}.hero-title{font-size:clamp(2.5rem,8vw,5rem);line-height:1.1}.hero-subtitle{font-size:clamp(1rem,4vw,1.25rem);max-width:min(100%,24rem);margin-left:auto;margin-right:auto}.feature-card{display:flex;flex-direction:column;height:100%}@media(max-width:768px){.feature-card{flex-direction:row;align-items:center}.feature-card .feature-icon{margin-right:1rem;margin-bottom:0}}.menu-card{height:100%;display:flex;flex-direction:column}.menu-card .menu-image{aspect-ratio:4/3;height:auto}@media(max-width:640px){.menu-card .menu-image{aspect-ratio:16/9}}.menu-card .menu-content{flex:1;display:flex;flex-direction:column}.menu-card .menu-content .menu-description{flex:1}.footer-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,5vw,3rem)}@media(min-width:768px){.footer-grid{grid-template-columns:repeat(3,1fr)}}.footer-logo{font-size:clamp(1.5rem,5vw,2rem)}.footer-heading{font-size:clamp(1.25rem,4vw,1.5rem);margin-bottom:clamp(1rem,3vw,1.5rem)}.section-spacing{padding-top:clamp(3rem,10vw,8rem);padding-bottom:clamp(3rem,10vw,8rem)}.section-spacing-sm{padding-top:clamp(2rem,6vw,4rem);padding-bottom:clamp(2rem,6vw,4rem)}.btn-responsive{padding:clamp(.5rem,2vw,1rem) clamp(1rem,4vw,2rem);font-size:clamp(.875rem,3vw,1.125rem);height:auto}.img-container{position:relative;width:100%}.img-container.img-square{aspect-ratio:1/1}.img-container.img-portrait{aspect-ratio:3/4}@media(max-width:768px){.img-container.img-portrait{aspect-ratio:1/1}}.img-container.img-landscape{aspect-ratio:4/3}@media(max-width:768px){.img-container.img-landscape{aspect-ratio:16/9}}.decorative-circle{position:absolute;border-radius:50%;z-index:-1}.decorative-circle.circle-sm{width:clamp(3rem,15vw,6rem);height:clamp(3rem,15vw,6rem)}.decorative-circle.circle-md{width:clamp(5rem,20vw,10rem);height:clamp(5rem,20vw,10rem)}.decorative-circle.circle-lg{width:clamp(8rem,30vw,16rem);height:clamp(8rem,30vw,16rem)}.backdrop-blur{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@media(max-width:768px){.backdrop-blur{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}}.line-clamp-1,.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-line-clamp:3}.gap-responsive-x{column-gap:clamp(.5rem,3vw,1.5rem)}.gap-responsive-y{row-gap:clamp(.5rem,3vw,1.5rem)}.container{width:100%;max-width:1440px;margin-left:auto;margin-right:auto;padding-left:clamp(1rem,5vw,3rem);padding-right:clamp(1rem,5vw,3rem)}