@import"https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&display=swap";:root{--color-primary: #1F2623;--color-secondary: #C5B097;--color-bg: #F5F2EA;--color-text: #2C2C2C;--color-text-light: #5A5A5A;--color-white: #ffffff;--color-overlay: rgba(31, 38, 35, .4);--font-heading: "Playfair Display", serif;--font-body: "Lato", sans-serif;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-bold: 700;--font-size-xs: .8rem;--font-size-sm: .9rem;--font-size-base: 1rem;--font-size-md: 1.1rem;--font-size-lg: 1.25rem;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .05em;--letter-spacing-wider: .1em;--line-height-tight: 1.2;--line-height-normal: 1.6;--line-height-relaxed: 1.8;--spacing-sm: .5rem;--spacing-md: 1.5rem;--spacing-lg: 3rem;--spacing-xl: 6rem;--transition-speed: .4s}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:var(--font-weight-regular);font-size:var(--font-size-base);background-color:var(--color-bg);color:var(--color-text);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:var(--spacing-md);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight)}a{text-decoration:none;color:inherit;transition:color var(--transition-speed)}ul{list-style:none}img{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.btn{display:inline-block;padding:12px 24px;background-color:var(--color-primary);color:var(--color-secondary);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-normal);border:1px solid var(--color-primary);cursor:pointer;transition:all var(--transition-speed);text-align:center}.btn:hover{background-color:transparent;color:var(--color-primary)}.btn:focus{outline:2px solid var(--color-secondary);outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:disabled:hover{background-color:var(--color-primary);color:var(--color-secondary)}.btn-outline{background-color:transparent;border:1px solid var(--color-secondary);color:var(--color-secondary)}.btn-outline:hover{background-color:var(--color-secondary);color:var(--color-white)}.section-padding{padding:clamp(3rem,8vw,var(--spacing-xl)) 0}.text-center{text-align:center}body.menu-open{overflow:hidden}a:focus-visible,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skip-link{position:absolute;top:-100px;left:50%;transform:translate(-50%);background-color:var(--color-primary);color:var(--color-white);padding:1rem 2rem;z-index:9999;font-family:var(--font-body);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);border-radius:0 0 4px 4px;transition:top .3s ease}.skip-link:focus{top:0}.fade-in-up{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.fade-in-up.visible{opacity:1;transform:translateY(0)}.stagger-children>*:nth-child(1){transition-delay:0s}.stagger-children>*:nth-child(2){transition-delay:.1s}.stagger-children>*:nth-child(3){transition-delay:.2s}.stagger-children>*:nth-child(4){transition-delay:.3s}.stagger-children>*:nth-child(5){transition-delay:.4s}.stagger-children>*:nth-child(6){transition-delay:.5s}.scroll-to-top{position:fixed;bottom:2rem;right:2rem;width:50px;height:50px;background-color:var(--color-primary);color:var(--color-secondary);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s ease;z-index:999;box-shadow:0 4px 15px #00000026}.scroll-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-to-top:hover{background-color:var(--color-secondary);color:var(--color-primary);transform:translateY(-3px)}.scroll-to-top svg{width:24px;height:24px}.header__menu a.active{color:var(--color-secondary)}.btn.loading{position:relative;color:transparent!important;pointer-events:none}.btn.loading:after{content:"";position:absolute;width:18px;height:18px;top:50%;left:50%;margin-left:-9px;margin-top:-9px;border:2px solid var(--color-secondary);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hero-animate{animation:fadeInUp .8s ease forwards;opacity:0}.hero-animate:nth-child(1){animation-delay:.1s}.hero-animate:nth-child(2){animation-delay:.25s}.hero-animate:nth-child(3){animation-delay:.4s}.hero-animate:nth-child(4){animation-delay:.55s}.hero-animate:nth-child(5){animation-delay:.7s}.btn{transform:translateY(0);box-shadow:0 2px 8px #0000001a}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #0000001a}.header.scrolled{box-shadow:0 4px 20px #0000001a}.section-divider{position:relative}.section-divider:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60px;height:2px;background:linear-gradient(90deg,transparent,var(--color-secondary),transparent)}html{scroll-padding-top:80px}.waitlist-form input.invalid{border-color:#c0392b;animation:shake .4s ease}.waitlist-form input.valid{border-color:#27ae60}.validation-message{font-family:var(--font-body);font-size:var(--font-size-xs);margin-top:.5rem;text-align:left;opacity:0;transform:translateY(-5px);transition:all .3s ease}.validation-message.show{opacity:1;transform:translateY(0)}.validation-message.error{color:#c0392b}.validation-message.success{color:#27ae60}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes celebrate{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.success-message{animation:celebrate .5s ease forwards}@keyframes drawCheck{0%{stroke-dashoffset:50}to{stroke-dashoffset:0}}.success-checkmark{width:50px;height:50px;margin:0 auto 1rem}.success-checkmark circle{fill:var(--color-primary)}.success-checkmark path{stroke:var(--color-secondary);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:50;stroke-dashoffset:50;animation:drawCheck .5s ease .3s forwards}.error-boundary{min-height:50vh;display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center}.error-boundary__content{max-width:500px}.error-boundary__content h2{margin-bottom:1rem}.error-boundary__content p{font-family:var(--font-heading);color:var(--color-text-light);margin-bottom:2rem}.menu-overlay{position:fixed;inset:0;background:#0000004d;opacity:0;visibility:hidden;transition:all .3s ease;z-index:998}.menu-overlay.active{opacity:1;visibility:visible}.header{background-color:var(--color-white);box-shadow:0 2px 10px #0000000d;position:sticky;top:0;z-index:1000;padding:1rem 0}.header__container{display:flex;justify-content:space-between;align-items:center}.header__logo h1{margin:0;font-size:1.8rem;letter-spacing:2px;text-transform:uppercase}.header__menu{display:flex;gap:2rem}.header__menu a{font-family:var(--font-body);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.header__menu a:hover{color:var(--color-secondary)}.header__toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px}.header__toggle .bar{width:25px;height:2px;background-color:var(--color-primary);transition:all .3s ease;transform-origin:center}.header__toggle.open .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.header__toggle.open .bar:nth-child(2){opacity:0;transform:scaleX(0)}.header__toggle.open .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:768px){.header__nav{position:fixed;top:70px;left:0;right:0;width:100%;height:calc(100vh - 70px);height:calc(100dvh - 70px);background-color:var(--color-white);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(-20px);transition:all .3s ease-in-out;z-index:999}.header__nav.open{opacity:1;visibility:visible;transform:translateY(0)}.header__menu{flex-direction:column;align-items:center;justify-content:center;gap:2.5rem}.header__menu a{font-size:1.2rem;padding:.5rem 1rem}.header__toggle{display:flex;z-index:1001}body.menu-open{overflow:hidden}}.hero{height:85vh;min-height:600px;background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;z-index:1}.hero:before{content:"";position:absolute;inset:0;background:#ffffff73;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:-1}.hero__content{padding:0 1rem}.hero__tagline{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-primary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);line-height:var(--line-height-normal);margin-bottom:1rem;opacity:.85}.hero__content h1{font-family:var(--font-heading);font-size:clamp(2.5rem,8vw,4.5rem);font-weight:var(--font-weight-regular);color:var(--color-primary);margin-bottom:1.5rem;line-height:1.1;letter-spacing:var(--letter-spacing-tight);text-shadow:0 2px 4px rgba(0,0,0,.08)}.hero__subtitle{font-family:var(--font-heading);font-size:clamp(1.1rem,3vw,1.5rem);font-weight:var(--font-weight-regular);color:var(--color-primary);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-relaxed);max-width:700px;margin:0 auto 1.5rem}.hero__date{font-family:var(--font-body);font-size:clamp(.9rem,3vw,1.1rem);font-weight:var(--font-weight-regular);color:var(--color-primary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);line-height:var(--line-height-normal);margin-bottom:2.5rem;opacity:.85}@media(max-width:768px){.hero{height:auto;min-height:100vh;min-height:100dvh;padding:4rem 0;background-position:65% center}.hero__tagline{font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide)}.hero__content{padding:0 1.5rem}}@media(max-width:480px){.hero{padding:3rem 0}.hero__date{margin-bottom:2rem}}.about{background-color:var(--color-white)}.about__container{padding:0 1rem}.about__container h2{font-size:clamp(1.8rem,5vw,2.5rem);margin-bottom:2rem}.about__text{max-width:750px;margin:0 auto;text-align:center}.about__text p{font-family:var(--font-heading);font-size:clamp(1rem,2.5vw,1.15rem);font-weight:var(--font-weight-regular);color:var(--color-text-light);line-height:var(--line-height-relaxed);margin-bottom:1.5rem}.about__text em{font-family:var(--font-heading);font-size:1.05em;font-style:italic;color:var(--color-primary)}.about__text h3{font-size:clamp(1.3rem,4vw,1.6rem)}@media(max-width:768px){.about__container{padding:0 .5rem}}.waitlist-form-container{max-width:600px;margin:0 auto;text-align:center;padding:clamp(2rem,5vw,3rem) clamp(1rem,4vw,2rem);background-color:var(--color-white);border:1px solid rgba(0,0,0,.05);border-radius:4px}.waitlist-form-container h3{font-size:clamp(1.5rem,4vw,2rem);margin-bottom:1rem}.waitlist-form-container>p{font-family:var(--font-heading);font-size:clamp(.95rem,2.5vw,1.1rem);font-weight:var(--font-weight-regular);color:var(--color-text-light);line-height:var(--line-height-relaxed);margin-bottom:2rem}.waitlist-form{display:flex;flex-direction:column;gap:1rem;flex-wrap:wrap}.waitlist-form input{font-family:var(--font-heading);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);padding:1rem;border:1px solid #ddd;background-color:transparent;transition:border-color .3s,box-shadow .3s;border-radius:2px}.waitlist-form input::placeholder{font-family:var(--font-heading);color:var(--color-text-light);opacity:.8}.waitlist-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1f26231a}.waitlist-form input:disabled{opacity:.7;cursor:not-allowed}.waitlist-form .btn:disabled{opacity:.7;cursor:not-allowed}.success-message{font-family:var(--font-heading);font-weight:var(--font-weight-regular);color:var(--color-primary);padding:1.5rem;background-color:var(--color-bg);border-radius:4px}.success-message p{font-size:var(--font-size-md);line-height:var(--line-height-normal);margin:0}.error-message{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:#c0392b;line-height:var(--line-height-normal);margin-top:1rem;text-align:center}.form-field{flex:1;display:flex;flex-direction:column}@media(min-width:600px){.waitlist-form{flex-direction:row;align-items:flex-start}.form-field{flex:1}.waitlist-form .btn{white-space:nowrap;margin-top:0}}.instagram-feed{background-color:var(--color-white)}.instagram-header{text-align:center;margin-bottom:2.5rem}.instagram-header h2{font-family:var(--font-heading);font-size:clamp(1.5rem,4vw,2rem);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-tight);margin-bottom:.5rem;transition:color .3s ease}.instagram-header p{font-family:var(--font-heading);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);color:var(--color-text-light);line-height:var(--line-height-normal)}.instagram-header a{display:inline-block}.instagram-header a:hover h2{color:var(--color-secondary)}.instagram-header a:focus{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:2px}.instagram-embed-grid{max-width:100%;margin:0 auto;display:flex;justify-content:center;overflow:hidden}.instagram-embed-grid .instagram-media{min-width:300px!important;max-width:100%!important}@media(max-width:768px){.instagram-embed-grid{padding:0 .5rem}.instagram-embed-grid .instagram-media{min-width:280px!important}}.footer{background-color:var(--color-primary);color:var(--color-white);padding:clamp(3rem,6vw,4rem) 0 1rem}.footer__container{display:flex;justify-content:center;align-items:center;margin-bottom:2rem;padding:0 1rem}.footer__col{text-align:center;width:100%}.footer__col p{font-family:var(--font-body);font-size:clamp(.8rem,2vw,.95rem);font-weight:var(--font-weight-regular);color:#ffffffd9;text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);line-height:var(--line-height-relaxed)}.footer__logo{margin-bottom:1.5rem;display:flex;justify-content:center}.footer__logo img{max-width:150px;height:auto}.footer__buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem}.footer__buttons .btn{font-size:var(--font-size-xs);padding:10px 20px}.footer__bottom{font-family:var(--font-heading);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:#ffffff80;text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.footer .btn-outline{transition:all .3s ease}.footer .btn-outline:hover{background-color:var(--color-secondary);color:var(--color-primary)!important;border-color:var(--color-secondary)}.footer .btn-outline:focus{outline:2px solid var(--color-secondary);outline-offset:2px}@media(max-width:480px){.footer__buttons{flex-direction:column;align-items:center}.footer__buttons .btn{width:100%;max-width:250px}}
