:root{--background:hsl(35, 25%, 96%);--foreground:hsl(25, 30%, 25%);--card:hsl(30, 20%, 98%);--card-foreground:hsl(25, 30%, 25%);--primary:hsl(25, 35%, 35%);--primary-foreground:hsl(35, 25%, 96%);--secondary:hsl(35, 30%, 85%);--secondary-foreground:hsl(25, 30%, 25%);--muted:hsl(35, 20%, 90%);--muted-foreground:hsl(30, 15%, 50%);--accent:hsl(30, 40%, 75%);--accent-foreground:hsl(25, 30%, 25%);--border:hsl(35, 20%, 88%);--cream:hsl(35, 25%, 96%);--latte:hsl(30, 30%, 80%);--coffee:hsl(25, 35%, 35%);--espresso:hsl(20, 40%, 20%);--tile-mini:hsl(30, 13%, 55%);--tile-standard:hsl(30, 18%, 39%);--tile-premium:hsl(25, 25%, 27%);--tile-custom:hsl(25, 38%, 14%);--radius:1rem;--transition-smooth:all 0.4s cubic-bezier(0.4, 0, 0.2, 1)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background-color:var(--background);color:var(--foreground);line-height:1.6;overflow-x:hidden;max-width:100vw}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}h1,h2,h3,h4,h5,h6{font-family:'Sora',sans-serif;font-weight:600;line-height:1.2}.font-handwritten{font-family:'Dancing Script',cursive!important}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1rem}@media (min-width:768px){.container{padding:0 1.5rem}}.smooth-transition{transition:var(--transition-smooth)}.text-center{text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:500;border-radius:9999px;border:none;cursor:pointer;transition:var(--transition-smooth)}.btn-primary{background-color:var(--tile-premium);color:var(--primary-foreground)}.btn-primary:hover{background-color:var(--coffee);opacity:.9}.btn-secondary{background-color:var(--secondary);color:var(--secondary-foreground)}.btn-secondary:hover{opacity:.8}.btn-outline{background-color:var(--tile-premium);border:none;color:var(--primary-foreground)}.btn-outline:hover{background-color:var(--coffee);opacity:.9;color:var(--primary-foreground)}.btn-lg{padding:1rem 3rem;font-size:1.125rem}.navbar{position:fixed;top:0;left:0;right:0;z-index:50;background-color:rgb(255 255 255 / .5);backdrop-filter:blur(8px);border-bottom:1px solid rgb(0 0 0 / .05);transform:translateY(-100%);transition:transform 0.3s ease}.navbar.visible{transform:translateY(0)}.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:44px}.navbar-logo{height:100%;display:flex;align-items:center}.navbar-logo img{height:40px;width:auto;filter:brightness(0)}.hamburger-btn{background:none;border:none;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.hamburger-btn svg,.hamburger-btn svg path,.hamburger-btn svg line{stroke:#000!important;fill:none!important}.mobile-menu{position:fixed;top:1rem;right:1rem;z-index:50;background-color:rgb(255 255 255 / .95);backdrop-filter:blur(12px);border-radius:1.5rem;box-shadow:0 25px 50px -12px rgb(0 0 0 / .25);padding:1.5rem;min-width:240px;transform:translateX(120%);opacity:0;transition:all 0.3s ease}.mobile-menu.open{transform:translateX(0);opacity:1}.mobile-menu ul{display:flex;flex-direction:column;gap:.5rem}.mobile-menu a{display:block;padding:.75rem 1.25rem;border-radius:1rem;font-weight:300;transition:all 0.2s}.mobile-menu a:hover{background-color:rgb(0 0 0 / .05)}.menu-overlay{position:fixed;inset:0;background-color:rgb(0 0 0 / .2);z-index:40;opacity:0;visibility:hidden;transition:all 0.3s}.menu-overlay.open{opacity:1;visibility:visible}.hamburger-btn svg{width:24px;height:24px}.hamburger-btn svg,#menu-icon,#close-icon{stroke:#000!important;fill:none!important}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgb(255 255 255 / .4) 0%,rgb(255 255 255 / .6) 50%,var(--background) 100%);opacity:.2}.hero-content{position:relative;z-index:10;text-align:center;padding:0 1rem}.hero-logo{margin-bottom:2rem;display:flex;justify-content:center}.hero-logo img{height:12rem;width:auto;filter:brightness(0) invert(1)}@media (min-width:768px){.hero-logo img{height:16rem}}.hero-title{font-size:1.25rem;font-weight:300;color:#fff;margin-bottom:1rem}@media (min-width:768px){.hero-title{font-size:1.5rem}}@media (min-width:1024px){.hero-title{font-size:1.875rem}}.hero-subtitle{font-size:1rem;font-weight:300;color:#fff;max-width:42rem;margin:0 auto 2.5rem}@media (min-width:768px){.hero-subtitle{font-size:1.125rem}}@media (min-width:1024px){.hero-subtitle{font-size:1.25rem}}.hero-buttons{display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:center}@media (min-width:640px){.hero-buttons{flex-direction:row}}.about{padding:5rem 0;background-color:var(--card)}@media (min-width:768px){.about{padding:8rem 0}}.about-content{max-width:56rem;margin:0 auto;text-align:center}.about h2{font-size:1.875rem;margin-bottom:2rem;color:var(--foreground)}@media (min-width:768px){.about h2{font-size:3rem}}.about p{font-size:1.125rem;color:var(--muted-foreground);line-height:1.8;margin-bottom:1.5rem}@media (min-width:768px){.about p{font-size:1.25rem}}.why-choose-us{padding:5rem 0;background-color:hsl(35 30% 85% / .3)}@media (min-width:768px){.why-choose-us{padding:8rem 0}}.why-header{text-align:center;margin-bottom:4rem}.why-header h2{font-size:1.875rem;margin-bottom:1rem;color:var(--foreground)}@media (min-width:768px){.why-header h2{font-size:3rem}}.why-header p{font-size:1.125rem;color:var(--muted-foreground)}@media (min-width:768px){.why-header p{font-size:1.25rem}}.why-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width:768px){.why-grid{grid-template-columns:repeat(2,1fr);gap:3rem}}@media (min-width:1024px){.why-grid{grid-template-columns:repeat(4,1fr)}}.why-card{text-align:center}.why-icon{display:flex;justify-content:center;margin-bottom:1.5rem}.why-icon svg{padding:1.5rem;background-color:var(--tile-premium);border-radius:50%;color:var(--primary-foreground);width:5rem;height:5rem}.why-card h3{font-size:1.25rem;margin-bottom:.75rem;color:var(--foreground)}.why-card p{color:var(--muted-foreground);line-height:1.6}.menu-section{padding:5rem 0;background-color:var(--background)}@media (min-width:768px){.menu-section{padding:8rem 0}}.menu-section h2{font-size:1.875rem;margin-bottom:1rem;text-align:center;color:var(--foreground)}@media (min-width:768px){.menu-section h2{font-size:3rem}}.menu-section>.container>p{font-size:1.125rem;text-align:center;color:var(--muted-foreground);margin-bottom:4rem}@media (min-width:768px){.menu-section>.container>p{font-size:1.25rem}}.menu-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width:768px){.menu-grid{grid-template-columns:repeat(2,1fr);gap:2rem}}@media (min-width:1024px){.menu-grid{grid-template-columns:repeat(4,1fr)}}.menu-card{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;transition:box-shadow 0.4s ease}.menu-card:hover{box-shadow:0 10px 40px rgb(0 0 0 / .1)}.menu-card-icon{display:flex;justify-content:center;margin-bottom:1.5rem}.menu-card-icon span{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;background-color:var(--secondary);border-radius:50%}.menu-card-icon svg{width:2rem;height:2rem;color:var(--tile-premium)}.menu-card h3{font-size:1.25rem;text-align:center;margin-bottom:1rem;color:var(--foreground)}.menu-card ul{display:flex;flex-direction:column;gap:.5rem}.menu-card li{text-align:center;color:var(--muted-foreground)}.booking{padding:5rem 0;background-color:var(--card)}@media (min-width:768px){.booking{padding:8rem 0}}.booking h2{font-size:1.875rem;margin-bottom:1rem;text-align:center;color:var(--foreground)}@media (min-width:768px){.booking h2{font-size:3rem}}.booking-card{max-width:56rem;margin:4rem auto 0;background-color:var(--background);border:2px solid var(--border);border-radius:var(--radius);padding:1rem}@media (min-width:640px){.booking-card{padding:1.5rem}}@media (min-width:768px){.booking-card{padding:3rem}}.booking-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}@media (min-width:768px){.booking-grid{grid-template-columns:repeat(2,1fr)}}.booking-features{text-align:center}.booking-features img{width:6rem;height:auto;margin:0 auto 1rem}.booking-features h3{font-size:1.5rem;margin-bottom:1.5rem;color:var(--foreground)}.booking-features ul{display:flex;flex-direction:column;gap:.75rem}.booking-features li{display:flex;align-items:flex-start;gap:.75rem}.booking-features li svg{width:1.25rem;height:1.25rem;color:var(--primary);flex-shrink:0;margin-top:.25rem}.booking-features li span{color:var(--muted-foreground);text-align:left}.booking-info{background-color:rgba(var(--secondary),.5);border-radius:1rem;padding:2rem;display:flex;flex-direction:column;justify-content:center;text-align:center}.booking-info p{color:var(--muted-foreground);margin-bottom:1rem}.booking-info h4{font-size:1.125rem;color:var(--foreground);margin-bottom:1.5rem}.booking-info ul{display:flex;flex-direction:column;gap:.5rem;color:var(--muted-foreground)}.booking-buttons{display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:center;margin-top:2rem}@media (min-width:640px){.booking-buttons{flex-direction:row}}.booking-note{text-align:center;font-size:.875rem;color:var(--muted-foreground);margin-top:1rem}.gallery{padding:5rem 0;background-color:var(--background)}@media (min-width:768px){.gallery{padding:8rem 0}}.gallery h2{font-size:1.875rem;margin-bottom:4rem;text-align:center;color:var(--foreground)}@media (min-width:768px){.gallery h2{font-size:3rem}}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (min-width:768px){.gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:350px}}.gallery-item{position:relative;overflow:hidden;border-radius:1rem}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-item--large{grid-column:span 2;aspect-ratio:auto}@media (min-width:768px){.gallery-item--large{grid-row:span 2}}.gallery-item--square{aspect-ratio:1}@media (min-width:768px){.gallery-item--square{aspect-ratio:auto}}.gallery-item--wide{grid-column:span 2;aspect-ratio:auto}.gallery-instagram{display:flex;justify-content:center;margin-top:3rem}.gallery-instagram a{display:inline-flex;align-items:center;gap:.5rem}.modal-overlay{position:fixed;inset:0;background-color:rgb(0 0 0 / .5);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:all 0.3s}.modal-overlay.open{opacity:1;visibility:visible}.modal{background-color:var(--background);border-radius:var(--radius);max-width:1280px;width:98vw;max-height:90vh;overflow-y:auto;padding:1rem;position:relative}@media (min-width:768px){.modal{padding:1.5rem}}@media (min-width:1024px){.modal{padding:2rem}}.modal-close{position:absolute;top:1rem;right:1rem;background-color:var(--secondary);border:none;border-radius:50%;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color 0.2s}.modal-close:hover{background-color:var(--muted)}.modal-close svg{width:1.25rem;height:1.25rem}.modal-header{text-align:center;padding:1rem 0}.modal-header img{width:5rem;height:auto;margin:0 auto 1rem}@media (min-width:768px){.modal-header img{width:6rem}}.modal-header h3{font-size:1.25rem;color:var(--foreground)}@media (min-width:768px){.modal-header h3{font-size:1.5rem}}@media (min-width:1024px){.modal-header h3{font-size:1.875rem}}.pricing-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-top:1rem}@media (min-width:640px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.pricing-grid{grid-template-columns:repeat(4,1fr);gap:1rem}}.pricing-tile{border-radius:1rem;padding:1rem;display:flex;flex-direction:column;min-height:280px;border:1px solid rgb(0 0 0 / .1);transition:box-shadow 0.3s}@media (min-width:768px){.pricing-tile{padding:1.25rem}}.pricing-tile:hover{box-shadow:0 10px 40px rgb(0 0 0 / .15)}.pricing-tile--mini{background-color:var(--tile-mini)}.pricing-tile--standard{background-color:var(--tile-standard)}.pricing-tile--premium{background-color:var(--tile-premium)}.pricing-tile--custom{background-color:var(--tile-custom)}.pricing-tile h4{font-size:1.125rem;text-align:center;color:#fff;margin-bottom:.75rem}@media (min-width:768px){.pricing-tile h4{font-size:1.25rem}}.pricing-tile ul{flex:1;display:flex;flex-direction:column;gap:.5rem}.pricing-tile li{display:flex;align-items:flex-start;gap:.5rem;font-size:.75rem;color:rgb(255 255 255 / .9)}@media (min-width:768px){.pricing-tile li{font-size:.875rem}}.pricing-tile .price{font-size:1rem;font-weight:600;text-align:center;color:#fff;margin-top:1rem}@media (min-width:768px){.pricing-tile .price{font-size:1.125rem}}.pricing-tile--custom .contact-info{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.75rem;text-align:center}.pricing-tile--custom .contact-item{display:flex;align-items:center;justify-content:center;gap:.5rem;color:rgb(255 255 255 / .9);font-size:.75rem}@media (min-width:768px){.pricing-tile--custom .contact-item{font-size:.875rem}}.pricing-tile--custom svg{width:1rem;height:1rem;color:#fff}.faq-section{padding:5rem 0;background-color:var(--card)}@media (min-width:768px){.faq-section{padding:8rem 0}}.faq-section h2{font-size:1.875rem;margin-bottom:3rem;text-align:center;color:var(--foreground)}@media (min-width:768px){.faq-section h2{font-size:3rem}}.faq-accordion{max-width:48rem;margin:0 auto}.faq-item{border-bottom:1px solid var(--border)}.faq-item:first-child{border-top:1px solid var(--border)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;font-size:1rem;font-weight:500;color:var(--foreground);transition:var(--transition-smooth)}@media (min-width:768px){.faq-question{font-size:1.125rem;padding:1.5rem 0}}.faq-question:hover{color:var(--primary)}.faq-question span{flex:1;padding-right:1rem}.faq-icon{flex-shrink:0;transition:transform 0.3s ease;color:var(--muted-foreground)}.faq-item.open .faq-icon{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.3s ease,padding 0.3s ease}.faq-item.open .faq-answer{max-height:500px;padding-bottom:1.25rem}.faq-answer p{font-size:1rem;line-height:1.7;color:var(--muted-foreground)}@media (min-width:768px){.faq-answer p{font-size:1.0625rem}}.footer{background-color:var(--tile-premium);color:var(--primary-foreground);padding:4rem 0}.footer-grid{display:grid;grid-template-columns:1fr;gap:3rem;margin-bottom:3rem}@media (min-width:768px){.footer-grid{grid-template-columns:repeat(2,1fr)}}.footer-brand{text-align:center}@media (min-width:768px){.footer-brand{text-align:left}}.footer-brand img{height:8rem;width:auto;margin:0 auto 1rem;filter:brightness(0) invert(1)}@media (min-width:768px){.footer-brand img{margin:0 0 1rem}}.footer-brand p{color:rgb(255 255 255 / .8)}.footer-contact{text-align:center}@media (min-width:768px){.footer-contact{text-align:right}}.footer-contact h3{font-size:1.25rem;margin-bottom:1rem}.footer-contact ul{display:flex;flex-direction:column;gap:.75rem}.footer-contact li{display:flex;align-items:center;gap:.75rem;justify-content:center}@media (min-width:768px){.footer-contact li{justify-content:flex-end}}.footer-contact svg{width:1.25rem;height:1.25rem}.footer-contact a,.footer-contact span{color:rgb(255 255 255 / .8);transition:color 0.3s}.footer-contact a:hover{color:#fff}.footer-bottom{border-top:1px solid rgb(255 255 255 / .2);padding-top:2rem;text-align:center;color:rgb(255 255 255 / .9)}.quote-section{padding:5rem 0;background-color:var(--tile-premium);color:var(--primary-foreground)}@media (min-width:768px){.quote-section{   padding:8rem 0}}.quote-content{text-align:center;max-width:60rem;margin:0 auto}.quote-content blockquote{font-family:'Amatic SC',cursive;font-size:1.875rem;font-weight:700;line-height:1.4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3rem}@media (min-width:500px){.quote-content blockquote{font-size:3rem}}@media (min-width:1024px){.quote-content blockquote{font-size:3.75rem}}.quote-subtitle{display:flex;align-items:center;gap:.75rem;margin-top:1.25rem}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn 0.7s ease forwards}.fade-in-up{animation:fadeInUp 0.7s ease forwards}.delay-100{animation-delay:100ms}.delay-200{animation-delay:200ms}.delay-300{animation-delay:300ms}.delay-400{animation-delay:400ms}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity 0.7s ease,transform 0.7s ease}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}