:root{--nude-50: #F9F8F6;--nude-100: #F2EBE5;--nude-200: #E6DAD1;--nude-300: #D4C5B9;--nude-400: #B8A89C;--nude-800: #5D534A;--nude-900: #453E36;--soft-clay: #A88B7D;--white: #ffffff;--yellow-400: #facc15;--font-serif: "Playfair Display", serif;--font-sans: "Mulish", sans-serif;--container-padding: 1.5rem;--container-max: 1280px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-sans);background-color:var(--nude-50);color:var(--nude-800);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;width:100%;line-height:1.5}::selection{background-color:var(--nude-200);color:var(--nude-900)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--nude-50)}::-webkit-scrollbar-thumb{background:var(--nude-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--nude-400)}.container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}@media(min-width:768px){.container{padding-left:3rem;padding-right:3rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translate(-50%) translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translate(-50%) translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}.fade-in-up{animation:fadeInUp 1s ease-out forwards;opacity:0;transform:translateY(30px)}.navbar{position:fixed;width:100%;z-index:50;transition:all .3s ease;background:transparent;padding:1.5rem 0}.navbar.scrolled{background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 2px #0000000d;padding:.75rem 0}.navbar-content{display:flex;justify-content:space-between;align-items:center}.nav-brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;font-family:var(--font-serif);font-weight:500;font-size:1.5rem;letter-spacing:.025em;color:var(--white);filter:drop-shadow(0 1px 1px rgba(0,0,0,.1));transition:color .3s ease}@media(min-width:768px){.nav-brand{font-size:1.875rem}}.navbar.scrolled .nav-brand{color:var(--nude-900)}.nav-logo{width:2rem;height:2rem;border-radius:50%;object-fit:cover;flex-shrink:0;overflow:hidden;box-shadow:0 1px 4px #0000001f}.nav-links{display:none;align-items:center;gap:2.5rem}@media(min-width:768px){.nav-links{display:flex}}.nav-link{color:#ffffffe6;text-decoration:none;font-size:.875rem;font-weight:600;letter-spacing:.025em;transition:color .2s ease}.nav-link:hover{color:var(--white)}.navbar.scrolled .nav-link{color:var(--nude-900)}.navbar.scrolled .nav-link:hover{color:var(--soft-clay)}.nav-cta{background:#ffffffe6;color:var(--nude-900);padding:.75rem 2rem;border-radius:9999px;font-size:.875rem;font-weight:700;text-decoration:none;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:all .2s ease}.nav-cta:hover{background:var(--white);transform:translateY(-2px)}.mobile-menu-btn{display:block;background:none;border:none;color:var(--white);font-size:1.5rem;cursor:pointer;transition:color .3s ease}@media(min-width:768px){.mobile-menu-btn{display:none}}.navbar.scrolled .mobile-menu-btn{color:var(--nude-900)}.mobile-menu{display:none;position:absolute;top:100%;left:0;width:100%;background:var(--nude-100);text-align:center;padding:1.5rem 0;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border-bottom-left-radius:1.5rem;border-bottom-right-radius:1.5rem;border-top:1px solid var(--nude-200)}.mobile-menu.active{display:block}.mobile-menu a{display:block;color:var(--nude-800);padding:.75rem 0;font-size:.875rem;font-weight:600;text-decoration:none;transition:color .2s ease}.mobile-menu a:hover{color:var(--soft-clay)}.mobile-menu a.cta{color:var(--soft-clay);font-weight:700}.hero{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-background{position:absolute;inset:0;z-index:0}.hero-background img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#453e3633,#453e3666)}.hero-content{position:relative;z-index:10;text-align:center;padding:0 1rem;max-width:64rem;margin:0 auto}.hero-badge{display:inline-block;padding:.25rem 1rem;border:1px solid rgba(255,255,255,.3);border-radius:9999px;margin-bottom:1.5rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff1a}.hero-badge p{color:var(--white);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}@media(min-width:768px){.hero-badge p{font-size:.875rem}}.hero-title{font-family:var(--font-serif);font-size:3rem;color:var(--white);margin-bottom:1.5rem;line-height:1.1;filter:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}@media(min-width:768px){.hero-title{font-size:4.5rem}}@media(min-width:1024px){.hero-title{font-size:6rem}}.hero-title span{font-style:italic;font-weight:300}.hero-subtitle{color:var(--nude-100);font-size:1.125rem;font-weight:300;margin-bottom:3rem;max-width:42rem;margin-left:auto;margin-right:auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}@media(min-width:768px){.hero-subtitle{font-size:1.25rem}}.hero-cta{display:flex;justify-content:center}.hero-cta .booking-btn{width:auto;padding:.875rem 2.5rem;font-size:.875rem}.booking-bar{background:#ffffffd9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:.4rem;max-width:280px;margin:0 auto;box-shadow:0 15px 30px -10px #0003;border-radius:1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.25rem}@media(min-width:768px){.booking-bar{background:#fffffff2;padding:.75rem;max-width:56rem;border-radius:2.5rem;flex-direction:row;gap:.75rem}}.booking-field{width:100%;flex:1;padding:.2rem .75rem;text-align:left;border-bottom:1px solid rgba(230,218,209,.5)}@media(min-width:768px){.booking-field{padding:.5rem 1.5rem;border-bottom:none;border-right:1px solid var(--nude-200)}}.booking-field:last-of-type{border-bottom:none;border-right:none}.booking-field label{display:block;font-size:9px;text-transform:uppercase;color:var(--nude-400);font-weight:700;letter-spacing:.05em;margin-bottom:.15rem}@media(min-width:768px){.booking-field label{font-size:10px;margin-bottom:.25rem}}.booking-field input{width:100%;color:var(--nude-800);outline:none;font-family:var(--font-sans);font-size:.8rem;background:transparent;border:none;cursor:pointer}@media(min-width:768px){.booking-field input{font-size:1rem}}.booking-field span{display:block;color:var(--nude-800);font-weight:500;font-size:.8rem}@media(min-width:768px){.booking-field span{font-size:1rem}}.booking-btn{width:100%;background:var(--nude-800);color:var(--white);padding:.5rem 1rem;border-radius:9999px;font-size:.75rem;font-weight:700;border:none;cursor:pointer;transition:background-color .3s ease;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;white-space:nowrap}@media(min-width:768px){.booking-btn{width:auto;padding:1rem 2rem;font-size:.875rem}}.booking-btn:hover{background:var(--nude-900)}.scroll-indicator{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);color:#fffc;text-decoration:none;background:#ffffff1a;padding:.75rem;border-radius:9999px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:color .2s ease;animation:bounce 1s infinite}.scroll-indicator:hover{color:var(--white)}.scroll-indicator i{font-size:1.125rem}.section-lieu{padding:6rem 0}@media(min-width:768px){.section-lieu{padding:8rem 0}}.lieu-content{display:flex;flex-direction:column;align-items:center;gap:4rem}@media(min-width:768px){.lieu-content{flex-direction:row}}@media(min-width:1024px){.lieu-content{gap:6rem}}.lieu-images{width:100%;position:relative}@media(min-width:768px){.lieu-images{width:50%}}.lieu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.lieu-grid img{width:100%;height:16rem;object-fit:cover;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.lieu-grid img:first-child{margin-top:2rem;border-radius:1rem 4rem}.lieu-grid img:last-child{border-radius:4rem 1rem}.lieu-decoration{position:absolute;z-index:-1;top:50%;left:50%;transform:translate(-50%,-50%);width:120%;height:120%;background:var(--nude-100);border-radius:9999px;opacity:.5;filter:blur(48px)}.lieu-text{width:100%;text-align:center}@media(min-width:768px){.lieu-text{width:50%;text-align:left}}.badge{display:inline-block;padding:.25rem .75rem;background:var(--nude-200);color:var(--nude-800);border-radius:9999px;font-size:.75rem;font-weight:700;letter-spacing:.05em;margin-bottom:1rem}.section-title{font-family:var(--font-serif);font-size:2.25rem;color:var(--nude-900);margin-bottom:1.5rem;line-height:1.2}@media(min-width:768px){.section-title{font-size:3rem}}.section-title span{color:var(--soft-clay);font-style:italic}.lieu-text p{color:#5d534acc;line-height:1.7;margin-bottom:1.5rem;font-size:1.125rem}.lieu-features{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.875rem;font-weight:600;color:var(--nude-800)}@media(min-width:768px){.lieu-features{justify-content:flex-start}}.lieu-features span{display:flex;align-items:center;gap:.5rem}.lieu-features i{color:var(--soft-clay)}.section-suite{padding:6rem 0;background:var(--nude-100);border-radius:3rem;margin:0 1rem;position:relative;overflow:hidden}@media(min-width:768px){.section-suite{margin:0 2rem}}.suite-decoration{position:absolute;top:0;right:0;width:24rem;height:24rem;background:var(--white);opacity:.4;border-radius:9999px;filter:blur(100px);pointer-events:none}.section-header{text-align:center;margin-bottom:4rem;position:relative;z-index:10}.section-subtitle{color:var(--soft-clay);text-transform:uppercase;letter-spacing:.1em;font-size:.875rem;font-weight:700;margin-bottom:.75rem}.section-header h2{font-family:var(--font-serif);font-size:2.25rem;color:var(--nude-900)}@media(min-width:768px){.section-header h2{font-size:3rem}}.section-header p{margin-top:1rem;color:#5d534ab3;max-width:36rem;margin-left:auto;margin-right:auto}.suite-grid{display:grid;grid-template-columns:1fr;gap:2rem;position:relative;z-index:10}@media(min-width:768px){.suite-grid{grid-template-columns:repeat(3,1fr)}}.suite-card{background:var(--white);padding:1rem 1rem 2rem;border-radius:2.5rem;box-shadow:0 1px 2px #0000000d;transition:box-shadow .5s ease}.suite-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@media(min-width:768px){.suite-card:nth-child(2){transform:translateY(-2rem)}}.suite-card-image{height:16rem;overflow:hidden;border-radius:2rem;margin-bottom:1.5rem;position:relative}.suite-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.suite-card:hover .suite-card-image img{transform:scale(1.1)}.suite-badge{position:absolute;top:1rem;right:1rem;background:var(--soft-clay);color:var(--white);font-size:10px;font-weight:700;padding:.25rem .75rem;border-radius:9999px;z-index:10;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.suite-card-content{padding:0 1rem;text-align:center}.suite-card h4{font-family:var(--font-serif);font-size:1.5rem;color:var(--nude-900);margin-bottom:.5rem}.suite-card p{color:#5d534a99;font-size:.875rem;line-height:1.7}.section-amenities{padding:5rem 0}.amenities-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}@media(min-width:768px){.amenities-grid{gap:3rem}}.amenity-item{padding:1rem 1.5rem;border-radius:1rem;background:var(--white);border:1px solid var(--nude-200);color:var(--nude-400);width:10rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 1px 2px #0000000d;transition:all .2s ease}.amenity-item:hover{border-color:var(--soft-clay);color:var(--soft-clay)}.amenity-item i{font-size:1.5rem}.amenity-item span{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.025em;color:var(--nude-800)}.section-experiences{padding:6rem 0;background:var(--nude-200);color:var(--nude-900);border-top-left-radius:4rem;border-bottom-right-radius:4rem;overflow:hidden;position:relative}.experiences-content{display:flex;flex-direction:column;align-items:center;gap:4rem;position:relative;z-index:10}@media(min-width:1024px){.experiences-content{flex-direction:row}}.experiences-text{width:100%}@media(min-width:1024px){.experiences-text{width:50%}}.experiences-text .badge{background:#ffffff80;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.experiences-text .section-title{margin-bottom:1.5rem}.experiences-text>p{color:var(--nude-800);margin-bottom:2rem;font-size:1.125rem}.experience-list{display:flex;flex-direction:column;gap:1.5rem}.experience-item{display:flex;gap:1rem}.experience-icon{width:3rem;height:3rem;border-radius:9999px;background:var(--white);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--soft-clay);box-shadow:0 1px 2px #0000000d}.experience-item h4{font-family:var(--font-serif);font-size:1.25rem;font-weight:700}.experience-item p{color:#5d534ab3;font-size:.875rem}.btn-outline{margin-top:2.5rem;padding:.75rem 2rem;border:1px solid var(--nude-900);border-radius:9999px;background:transparent;color:var(--nude-900);text-transform:uppercase;font-size:.75rem;font-weight:700;letter-spacing:.1em;cursor:pointer;transition:all .3s ease}.btn-outline:hover{background:var(--nude-900);color:var(--white)}.experiences-image{width:100%;position:relative}@media(min-width:1024px){.experiences-image{width:50%}}.experiences-image>img{border-radius:3rem;box-shadow:0 25px 50px -12px #00000040;width:100%;height:500px;object-fit:cover}.floating-card{display:none;position:absolute;bottom:-1.5rem;left:-1.5rem;background:var(--white);padding:1.5rem;border-radius:2rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:20rem}@media(min-width:768px){.floating-card{display:block}}.floating-card p{font-family:var(--font-serif);font-size:1.125rem;font-style:italic;color:var(--nude-900)}.stars{display:flex;color:var(--yellow-400);font-size:.75rem;margin-top:.5rem}.section-testimonials{padding:6rem 0;text-align:center}.testimonials-content{max-width:48rem;margin:0 auto}.testimonials-divider{margin-bottom:2rem;display:flex;justify-content:center}.testimonials-divider span{width:4rem;height:.25rem;background:var(--soft-clay);border-radius:9999px}.testimonials-content h2{font-family:var(--font-serif);font-size:1.5rem;font-style:italic;color:var(--nude-800);line-height:1.7;margin-bottom:1.5rem}@media(min-width:768px){.testimonials-content h2{font-size:1.875rem}}.testimonials-content .author{font-weight:700;color:var(--nude-900);font-size:.875rem;letter-spacing:.025em}.testimonials-content .date{font-size:.75rem;color:var(--nude-400);margin-top:.25rem}.footer{background:var(--nude-900);color:var(--nude-200);padding:5rem 0;position:relative;overflow:hidden}.footer-pattern{position:absolute;inset:0;opacity:.05;background-image:url(https://www.transparenttextures.com/patterns/cubes.png)}.footer-content{position:relative;z-index:10;text-align:center}.footer-cta{margin-bottom:3rem}.footer-cta h2{font-family:var(--font-serif);font-size:2.25rem;color:var(--white);margin-bottom:1.5rem}@media(min-width:768px){.footer-cta h2{font-size:3rem}}.footer-cta p{color:var(--nude-300);font-size:1.125rem;margin-bottom:2rem}.footer-buttons{display:flex;flex-direction:column;justify-content:center;gap:1rem}@media(min-width:640px){.footer-buttons{flex-direction:row}}.btn-primary{background:var(--soft-clay);color:var(--white);padding:1rem 2.5rem;border-radius:9999px;font-size:.875rem;font-weight:700;text-decoration:none;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:all .3s ease}.btn-primary:hover{background:var(--white);color:var(--soft-clay)}.btn-secondary{background:transparent;border:1px solid var(--nude-400);color:var(--nude-200);padding:1rem 2.5rem;border-radius:9999px;font-size:.875rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{border-color:var(--white);color:var(--white)}.footer-bottom{border-top:1px solid var(--nude-800);padding-top:3rem;display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:1.5rem}@media(min-width:768px){.footer-bottom{flex-direction:row}}.footer-info{text-align:left}.footer-info h3{font-family:var(--font-serif);font-size:1.25rem;color:var(--white);margin-bottom:.25rem}.footer-info p{font-size:.875rem;color:var(--nude-400)}.footer-socials{display:flex;gap:1.5rem}.footer-socials a{color:var(--nude-200);font-size:1.5rem;transition:all .2s ease}.footer-socials a:hover{color:var(--white);transform:scale(1.1)}.footer-copyright{font-size:.75rem;color:var(--nude-600, #8B7E74);margin-top:3rem}.footer-legal{border-top:1px solid var(--nude-800);margin-top:2rem;padding-top:2rem;text-align:center;font-size:.75rem;color:var(--nude-300);line-height:1.7}.footer-legal p{margin:0}.footer-legal strong{color:var(--nude-100);font-weight:700}.footer-legal-links{margin-top:.75rem;display:inline-flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.footer-legal-links a{color:var(--nude-200);text-decoration:none;transition:color .2s ease}.footer-legal-links a:hover{color:var(--white);text-decoration:underline}.calendar{background:var(--white);border:1px solid var(--nude-200);border-radius:1.5rem;padding:1.5rem;max-width:28rem;box-shadow:0 1px 2px #0000000d}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.calendar-title{font-family:var(--font-serif);font-size:1.25rem;color:var(--nude-900);text-transform:capitalize}.calendar-nav{background:var(--nude-100);border:none;width:2.25rem;height:2.25rem;border-radius:9999px;color:var(--nude-800);cursor:pointer;transition:background .2s ease}.calendar-nav:hover:not(:disabled){background:var(--nude-200)}.calendar-nav:disabled{opacity:.3;cursor:not-allowed}.calendar-loading{text-align:center;padding:2rem 0;color:var(--nude-400);font-size:.875rem;font-style:italic}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-weekday{text-align:center;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--nude-400);padding:.5rem 0}.calendar-day{aspect-ratio:1 / 1;background:transparent;border:1px solid transparent;border-radius:.5rem;color:var(--nude-800);cursor:pointer;font-family:var(--font-sans);font-size:.875rem;font-weight:500;transition:background .15s ease,color .15s ease}.calendar-day:hover:not(:disabled){background:var(--nude-100)}.calendar-day--pad{visibility:hidden;cursor:default}.calendar-day--past,.calendar-day--disabled{color:var(--nude-300);cursor:not-allowed;text-decoration:line-through;background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(168,139,125,.08) 4px,rgba(168,139,125,.08) 8px)}.calendar-day--today{border-color:var(--nude-300)}.calendar-day--in-range{background:var(--nude-100);color:var(--nude-900)}.calendar-day--start,.calendar-day--end{background:var(--soft-clay);color:var(--white);font-weight:700}.calendar-day--start:hover,.calendar-day--end:hover{background:var(--soft-clay)}.calendar-day--invalid.calendar-day--in-range{background:#dc26261f;color:#dc2626d9}.calendar-day--invalid.calendar-day--start{background:#dc2626d9;color:var(--white)}.calendar-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--nude-100);font-size:.75rem;color:var(--nude-800)}.calendar-legend>span{display:inline-flex;align-items:center;gap:.4rem}.calendar-legend-swatch{width:.875rem;height:.875rem;border-radius:.25rem;border:1px solid var(--nude-200)}.calendar-legend-swatch--available{background:var(--white)}.calendar-legend-swatch--unavailable{background:repeating-linear-gradient(45deg,var(--nude-50),var(--nude-50) 3px,var(--nude-200) 3px,var(--nude-200) 6px)}.calendar-legend-swatch--selected{background:var(--soft-clay);border-color:var(--soft-clay)}.calendar-error{margin-top:1rem;padding:.75rem 1rem;border-radius:.75rem;background:#dc26261a;color:#b42318;font-size:.875rem}.reserver{min-height:100vh;padding:4rem 0 6rem;background:var(--nude-50)}.reserver-back{display:inline-block;color:var(--soft-clay);text-decoration:none;font-weight:600;margin-bottom:2rem}.reserver-header{text-align:center;margin-bottom:3rem}.reserver-header h1{font-family:var(--font-serif);font-size:2.5rem;color:var(--nude-900);margin:.5rem 0 1rem}@media(min-width:768px){.reserver-header h1{font-size:3rem}}.reserver-meta{color:var(--nude-800);font-size:.875rem}.reserver-meta strong{color:var(--nude-900)}.reserver-meta code{display:block;margin:.35rem auto 0;max-width:100%;overflow-wrap:anywhere;word-break:break-all;white-space:normal}.reserver-section{background:var(--white);border-radius:2rem;padding:2rem;box-shadow:0 1px 2px #0000000d}@media(min-width:768px){.reserver-section{padding:3rem}}.reserver-section h2{font-family:var(--font-serif);font-size:1.5rem;color:var(--nude-900);margin-bottom:1.5rem}.reserver-cols{display:grid;gap:2rem;grid-template-columns:1fr}@media(min-width:900px){.reserver-cols{grid-template-columns:auto 1fr;align-items:start}.reserver-cols--with-recap{grid-template-columns:1fr 280px}}.reserver-form{display:flex;flex-direction:column;gap:1rem;min-width:0}.reserver-form label{display:flex;flex-direction:column;gap:.4rem;font-size:.875rem;color:var(--nude-800);font-weight:600}.reserver-form input[type=text],.reserver-form input[type=email],.reserver-form input[type=tel],.reserver-form input[type=number],.reserver-form input:not([type]),.reserver-form textarea{padding:.75rem 1rem;border:1px solid var(--nude-200);border-radius:.75rem;background:var(--white);color:var(--nude-900);font-family:var(--font-sans);font-size:1rem;font-weight:400;outline:none;transition:border-color .2s ease}.reserver-form input:focus,.reserver-form textarea:focus{border-color:var(--soft-clay)}.reserver-quote{background:var(--nude-50);border-radius:1rem;padding:1rem 1.25rem;margin-top:.5rem;font-size:.875rem}.reserver-quote p{display:flex;justify-content:space-between;margin:.4rem 0;color:var(--nude-800)}.reserver-quote hr{border:none;border-top:1px solid var(--nude-200);margin:.75rem 0}.reserver-quote .reserver-total,.reserver-recap .reserver-total{font-family:var(--font-serif);font-size:1.125rem;color:var(--nude-900)}.reserver-warning{color:#b42318;background:#dc262614;border-radius:.75rem;padding:.75rem 1rem;font-size:.875rem;margin:0}.reserver-cta{background:var(--nude-900);color:var(--white);border:none;padding:1rem 2rem;border-radius:9999px;font-weight:700;font-size:.875rem;cursor:pointer;transition:background .2s ease,transform .2s ease;align-self:flex-start;text-decoration:none;display:inline-block}.reserver-cta:hover:not(:disabled){background:var(--soft-clay);transform:translateY(-2px)}.reserver-cta:disabled{background:var(--nude-300);cursor:not-allowed}.reserver-cta--inline{margin-top:1.5rem}.reserver-secondary{background:transparent;color:var(--nude-800);border:1px solid var(--nude-300);padding:1rem 1.5rem;border-radius:9999px;font-weight:600;cursor:pointer;transition:border-color .2s ease}.reserver-secondary:hover{border-color:var(--nude-800)}.reserver-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-top:.5rem}.reserver-checkbox{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem;background:var(--nude-50);border-radius:.75rem;font-size:.875rem;color:var(--nude-800);line-height:1.5}.reserver-checkbox input[type=checkbox]{margin-top:.15rem;flex-shrink:0;accent-color:var(--soft-clay)}.reserver-checkbox label{display:block;cursor:pointer;font-weight:400;line-height:1.5}.reserver-checkbox a{color:var(--soft-clay)}.reserver-recap{background:var(--nude-50);border-radius:1.25rem;padding:1.5rem;align-self:start;position:sticky;top:2rem;font-size:.875rem;min-width:240px}.reserver-recap h3{font-family:var(--font-serif);font-size:1.25rem;color:var(--nude-900);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--nude-200)}.reserver-recap .recap-info{margin-bottom:1rem;color:var(--nude-700);line-height:1.7}.reserver-recap .recap-dates{font-weight:700;font-size:.9375rem;color:var(--nude-900);margin-bottom:.15rem}.reserver-recap .recap-row{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:baseline;margin:.5rem 0;color:var(--nude-800)}.reserver-recap .recap-row.reserver-total{font-family:var(--font-serif);font-size:1.125rem;color:var(--nude-900);font-weight:700;margin-top:.25rem}.reserver-recap hr{border:none;border-top:1px solid var(--nude-200);margin:.75rem 0}.reserver-recap p{margin:.35rem 0;color:var(--nude-800);line-height:1.6}.reserver-success{text-align:center;padding:4rem 2rem}.reserver-success-icon{color:#16a34a;font-size:3.5rem;margin-bottom:1.5rem}.reserver-success h2{margin-bottom:1rem}.reserver-success p{margin:.75rem 0;color:var(--nude-800)}.reserver-success code{background:var(--nude-100);padding:.2rem .5rem;border-radius:.4rem;font-size:.875rem;box-sizing:border-box}.reserver-paused{text-align:center;padding:3.5rem 2rem}.reserver-paused-icon{color:var(--nude-600, #8a6f5c);font-size:3rem;margin-bottom:1.25rem}.reserver-paused h2{margin-bottom:1rem}.reserver-paused-message{margin:.75rem auto 1.5rem;max-width:38rem;color:var(--nude-800);white-space:pre-line}.cookie-banner{position:fixed;bottom:1rem;left:1rem;right:1rem;z-index:100;display:flex;justify-content:center;pointer-events:none}.cookie-banner-content{pointer-events:auto;background:var(--white);border:1px solid var(--nude-200);border-radius:1.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;padding:1.5rem;max-width:42rem;width:100%;font-size:.875rem;color:var(--nude-800)}.cookie-banner-content h3{font-family:var(--font-serif);font-size:1.125rem;color:var(--nude-900);margin-bottom:.75rem}.cookie-banner-content p{line-height:1.6;margin-bottom:1rem}.cookie-banner-content a{color:var(--soft-clay)}.cookie-banner-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;margin-top:1rem}.cookie-btn{border:none;padding:.7rem 1.25rem;border-radius:9999px;font-weight:600;font-size:.8rem;cursor:pointer;transition:background .2s ease,color .2s ease;font-family:var(--font-sans)}.cookie-btn--secondary{background:var(--nude-100);color:var(--nude-800)}.cookie-btn--secondary:hover{background:var(--nude-200)}.cookie-btn--primary{background:var(--nude-900);color:var(--white)}.cookie-btn--primary:hover{background:var(--soft-clay)}.cookie-category{border-top:1px solid var(--nude-100);padding:1rem 0}.cookie-category-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.cookie-category-head strong{color:var(--nude-900)}.cookie-category p{margin:0;font-size:.8rem;color:var(--nude-400)}.cookie-toggle--locked{color:var(--nude-400);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.cookie-toggle:not(.cookie-toggle--locked){position:relative;display:inline-block;width:2.5rem;height:1.4rem;cursor:pointer}.cookie-toggle input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.cookie-toggle-track{position:absolute;inset:0;background:var(--nude-200);border-radius:9999px;transition:background .2s ease}.cookie-toggle-track:before{content:"";position:absolute;top:.15rem;left:.15rem;width:1.1rem;height:1.1rem;background:var(--white);border-radius:9999px;transition:transform .2s ease}.cookie-toggle input:checked~.cookie-toggle-track{background:var(--soft-clay)}.cookie-toggle input:checked~.cookie-toggle-track:before{transform:translate(1.1rem)}.legal-page{min-height:100vh;padding:4rem 0 6rem;background:var(--nude-50)}.legal-page-inner{max-width:48rem;margin:0 auto;padding:0 1.5rem;font-family:var(--font-sans);color:var(--nude-800);line-height:1.7}.legal-back{color:var(--soft-clay);text-decoration:none;font-weight:600;margin-bottom:2rem;display:inline-block}.legal-page-inner h1{font-family:var(--font-serif);font-size:2.5rem;color:var(--nude-900);margin:1rem 0 1.5rem}.legal-draft{background:#fcd34d2e;border-left:4px solid #d97706;color:#78350f;padding:1rem 1.25rem;border-radius:.75rem;margin:1rem 0 2rem;font-size:.875rem}.legal-draft code{background:#d9770626;padding:.1rem .4rem;border-radius:.3rem;font-size:.8em;color:#78350f}.legal-body{background:var(--white);border-radius:1.5rem;padding:2.5rem;box-shadow:0 1px 2px #0000000d}.legal-body h2{font-family:var(--font-serif);font-size:1.5rem;color:var(--nude-900);margin:2rem 0 1rem}.legal-body h2:first-child{margin-top:0}.legal-body h3{font-family:var(--font-serif);font-size:1.125rem;color:var(--nude-900);margin:1.5rem 0 .75rem}.legal-body p{margin:.75rem 0}.legal-body ul{padding-left:1.5rem;margin:.75rem 0}.legal-body li{margin:.4rem 0}.legal-slot{background:var(--nude-100);color:var(--soft-clay);padding:.1rem .5rem;border-radius:.4rem;font-size:.8em;font-family:monospace}.reserver-form select,.reserver-form input[type=date]{padding:.75rem 1rem;border:1px solid var(--nude-200);border-radius:.75rem;background:var(--white);color:var(--nude-900);font-family:var(--font-sans);font-size:1rem;font-weight:400;outline:none;transition:border-color .2s ease;min-height:3rem;width:100%;-webkit-appearance:none;appearance:none}.reserver-form select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23807062' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.reserver-form select:focus,.reserver-form input[type=date]:focus{border-color:var(--soft-clay)}.reserver-form-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.reserver-form-grid{grid-template-columns:1fr 1fr}}.caution-dates-recap{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;background:var(--nude-50);border-radius:1rem;padding:1rem 1.25rem;font-size:.9375rem;color:var(--nude-800)}.caution-dates-recap strong{color:var(--nude-900)}.caution-note{background:var(--nude-50);border:1px solid var(--nude-200);border-radius:1rem;padding:1rem 1.25rem;font-size:.9375rem;line-height:1.6;color:var(--nude-800);margin:0}.caution-terms{border:1px solid var(--nude-200);border-radius:1rem;background:var(--nude-50);padding:1.25rem 1.5rem;max-height:21rem;overflow-y:auto;font-size:.875rem;line-height:1.65;color:var(--nude-800);-webkit-overflow-scrolling:touch}.caution-terms h3{font-family:var(--font-serif);font-size:1.125rem;color:var(--nude-900);margin:0 0 .75rem}.caution-terms p{margin:0 0 .75rem}.caution-terms p:last-child{margin-bottom:0}.reserver-cta--block{align-self:stretch;width:100%;text-align:center}@media(min-width:640px){.reserver-cta--block{align-self:flex-start;width:auto;min-width:20rem}}
