@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&family=Poppins:wght@600;700&display=swap');:root{--color-primary:#2c3e50;--color-accent:#27ae60;--color-text:#343a40;--color-bg:#f4f6f9;--color-surface:#ffffff;--font-heading:'Poppins',sans-serif;--font-body:'Open Sans',sans-serif;--hero-min-height:100vh;--hero-overlay-alpha:0.45;--hero-focus:center;--animation-reveal-duration:600ms;--animation-card-lift:-4px;--animation-image-scale:1.05;}*{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;}body{font-family:var(--font-body);line-height:1.6;color:var(--color-text);background-color:var(--color-bg);}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-primary);line-height:1.2;margin-bottom:0.8em;}h1{font-size:clamp(2.5rem,6vw,4rem);}h2{font-size:clamp(2rem,5vw,3rem);margin-top:1.5em;}h3{font-size:clamp(1.5rem,4vw,2.2rem);margin-top:1em;}p{margin-bottom:1em;}a{color:var(--color-primary);text-decoration:none;}a:hover{text-decoration:underline;}img{max-width:100%;height:auto;display:block;}input,textarea,button{font-family:inherit;font-size:100%;}/* Layout */.container{max-width:1200px;margin:0 auto;padding:1rem;}@media (min-width:768px){.container{padding:1.5rem 2rem;}}.section-description{font-size:1.1rem;color:#555;margin-bottom:2em;text-align:center;}/* Header */.site-header{background-color:var(--color-primary);color:#fff;padding:1rem 0;position:sticky;top:0;z-index:1000;box-shadow:0 2px 10px rgba(0,0,0,0.1);}.site-header .container{display:flex;justify-content:space-between;align-items:center;}.logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none;}.menu-toggle{display:block;background:none;border:none;cursor:pointer;padding:0.5rem;position:relative;z-index:10;}.hamburger{display:block;width:25px;height:3px;background-color:#fff;position:relative;transition:background-color 0.3s ease;}.hamburger::before,.hamburger::after{content:'';display:block;width:25px;height:3px;background-color:#fff;position:absolute;left:0;transition:transform 0.3s ease,top 0.3s ease;}.hamburger::before{top:-8px;}.hamburger::after{top:8px;}.menu-toggle[aria-expanded="true"] .hamburger{background-color:transparent;}.menu-toggle[aria-expanded="true"] .hamburger::before{transform:rotate(45deg);top:0;}.menu-toggle[aria-expanded="true"] .hamburger::after{transform:rotate(-45deg);top:0;}.main-nav ul{list-style:none;display:flex;flex-direction:column;position:absolute;top:100%;left:0;width:100%;background-color:var(--color-primary);box-shadow:0 2px 10px rgba(0,0,0,0.1);transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform 0.3s ease,opacity 0.3s ease,visibility 0.3s ease;}.main-nav ul[aria-expanded="true"]{transform:translateY(0);opacity:1;visibility:visible;}.main-nav a{display:block;padding:1rem;color:#fff;text-align:center;text-decoration:none;font-weight:600;}.main-nav a:hover{background-color:rgba(255,255,255,0.1);}@media (min-width:768px){.menu-toggle{display:none;}.main-nav ul{position:static;transform:none;opacity:1;visibility:visible;flex-direction:row;background:none;box-shadow:none;display:flex !important;}.main-nav a{padding:0.5rem 1rem;}.main-nav a:hover{background-color:transparent;text-decoration:underline;}}/* Hero */.hero{min-height:var(--hero-min-height);display:grid;place-items:center;position:relative;overflow:hidden;text-align:center;}.hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-focus,center);z-index:0;}.hero__overlay{position:relative;z-index:1;max-width:720px;padding:clamp(1rem,4vw,2.5rem);background:rgba(0,0,0,var(--hero-overlay-alpha,0.45));color:#fff;border-radius:12px;text-align:center;}.hero h1{color:#fff;margin-bottom:0.2em;}.hero .tagline{font-size:clamp(1.2rem,3vw,1.8rem);font-weight:400;color:#f0f0f0;margin-bottom:1.5em;}/* Buttons & CTA */.button,.cta{display:inline-block;background-color:var(--color-accent);color:#fff;padding:0.8em 1.8em;border-radius:8px;text-decoration:none;font-weight:600;text-align:center;border:none;cursor:pointer;font-size:1.1rem;}/* Sections */section{padding:4rem 0;}.about,.services,.contact{padding: clamp(3rem, 8vw, 6rem) 0;}.about{background-color:var(--color-surface);}.about h2,.services h2,.contact h2{text-align:center;margin-bottom:1em;}.services__grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:2em;}@media (min-width:640px){.services__grid{grid-template-columns:repeat(2,1fr);}}@media (min-width:1024px){.services__grid{grid-template-columns:repeat(3,1fr);}}.card{background-color:var(--color-surface);border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,0.08);overflow:hidden;text-align:center;padding-bottom:1.5rem;}.card img{width:100%;height:200px;object-fit:cover;margin-bottom:1rem;}.card h3{font-size:1.3rem;margin-bottom:0.5rem;padding:0 1.5rem;}.card p{font-size:0.95rem;color:#555;padding:0 1.5rem;}.reservation-section{background-color:var(--color-bg);padding:3rem 1.5rem;border-radius:12px;margin-top:3rem;text-align:center;}/* Contact */.contact-details{text-align:center;margin-bottom:2rem;font-size:1.1rem;}.contact-details p{margin-bottom:0.5em;}.contact-details a{font-weight:600;}.map-container{margin-bottom:2rem;border-radius:12px;overflow:hidden;}.map-container iframe{display:block;}/* Forms */form{margin-top:1.5em;}.form-group{margin-bottom:1em;}label{display:block;margin-bottom:0.5em;font-weight:600;}input[type="text"],input[type="email"],input[type="tel"],textarea{width:100%;padding:0.8em;border:1px solid #ccc;border-radius:8px;font-size:1rem;}.form-group button{width:auto;padding:0.8em 2em;}/* Footer */.site-footer{background-color:var(--color-primary);color:#fff;padding:2rem 0;text-align:center;font-size:0.9rem;}.site-footer .container{display:flex;flex-direction:column;align-items:center;}.newsletter-signup{margin-top:2em;padding-top:1.5em;border-top:1px solid rgba(255,255,255,0.2);width:100%;max-width:400px;}.newsletter-signup h4{color:#fff;margin-bottom:0.5em;font-size:1.2rem;}.newsletter-signup p{color:#f0f0f0;margin-bottom:1em;}/* Animations */@media (prefers-reduced-motion:no-preference){@keyframes fadeInUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}.reveal{opacity:0;will-change:transform,opacity;}.reveal.is-visible{animation:fadeInUp var(--animation-reveal-duration,600ms) ease-out forwards;}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;animation:none;}}/* Hover Effects */@media (hover:hover) and (prefers-reduced-motion:no-preference){.card{transition:transform 200ms,box-shadow 200ms;}.card:hover{transform:translateY(var(--animation-card-lift,-4px));box-shadow:0 8px 24px rgba(0,0,0,0.12);}.services__grid img{transition:transform 300ms;}.services__grid img:hover{transform:scale(var(--animation-image-scale,1.05));}.button,a.cta{transition:filter 150ms;}.button:hover,a.cta:hover{filter:brightness(1.1);}}