:root{--color-primary: #1C3A5E;--color-primary-rgb: 28, 58, 94;--color-primary-dark: #162E4A;--color-primary-light: #2A5080;--color-secondary: #D4611A;--color-secondary-rgb: 212, 97, 26;--color-secondary-dark: #B8511A;--color-accent: #A8C4D8;--color-accent-rgb: 168, 196, 216;--color-bg: #F5F0E8;--color-bg-rgb: 245, 240, 232;--color-surface: #FFFFFF;--color-surface-rgb: 255, 255, 255;--color-surface-alt: #E8E2D6;--color-bg-alt: var(--color-surface-alt);--color-text: #2C2416;--color-text-muted: #635647;--color-text-light: #F5F0E8;--color-text-light-rgb: 245, 240, 232;--color-border: rgba(var(--color-secondary-rgb), .15);--color-white: #ffffff;--color-error: #C0392B;--color-whatsapp: #25D366;--color-whatsapp-dark: #1EBE5D;--gradient-hero: linear-gradient(to bottom, rgba(var(--color-primary-rgb), .45) 0%, rgba(var(--color-primary-rgb), .7) 40%, rgba(var(--color-primary-rgb), .85) 75%, rgba(var(--color-primary-rgb), .95) 100%);--gradient-primary: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-secondary-dark) 100%);--gradient-surface: linear-gradient(180deg, rgba(var(--color-surface-rgb), 0) 0%, rgba(var(--color-surface-rgb), .05) 100%);--shadow-color-rgb: 42, 38, 33;--font-heading: "Cormorant Garamond", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--size-xs: .75rem;--size-sm: .875rem;--size-base: 1rem;--size-lg: 1.125rem;--size-xl: 1.25rem;--size-2xl: 1.5rem;--size-3xl: 2rem;--size-4xl: 2.5rem;--size-5xl: 3.5rem;--size-6xl: 4.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(42, 38, 33, .08);--shadow-md: 0 4px 16px rgba(42, 38, 33, .1);--shadow-lg: 0 8px 32px rgba(42, 38, 33, .14);--header-height: 72px;--transition: .3s ease;--container-max: 1200px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height);font-size:16px}body{font-family:var(--font-body);font-size:var(--size-base);line-height:1.7;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block;background-color:rgba(var(--color-primary-rgb),.05)}a{color:inherit;text-decoration:none;transition:color var(--transition),transform var(--transition)}button{cursor:pointer;border:none;background:none;font-family:inherit}ul,ol{list-style:none}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}.section-padding{padding:var(--space-24) 0}#gallery.section-padding,#faq.section-padding{padding:var(--space-20) 0}.bg-ivory{background:var(--color-bg-alt)}.section-header{text-align:center;margin-bottom:var(--space-16)}.section-header h2{position:relative;display:inline-block;padding-bottom:var(--space-5);margin-bottom:var(--space-2)}.section-header h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:40%;height:2px;background:var(--color-secondary);opacity:.4}#rates .btn:focus-visible,#rates .rate-card:focus-visible,.site-footer .social-link:focus-visible,.site-footer nav a:focus-visible,.mobile-nav a:focus-visible{outline-color:var(--color-accent)}.btn:active,.lang-btn:active,.faq-question:active,.amenity-item:active{transform:scale(.96);opacity:.9}.btn:active{box-shadow:inset 0 1px 3px #00000026}.section-sub{font-size:var(--size-lg);color:var(--color-text-muted);margin-top:var(--space-3);max-width:560px;margin-left:auto;margin-right:auto}.eyebrow{display:inline-block;font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-secondary);margin-bottom:var(--space-3)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:400;line-height:1.15}h1{font-size:clamp(var(--size-5xl),7vw,4.8rem)}h2{font-size:clamp(var(--size-3xl),4.5vw,2.8rem)}h3{font-size:var(--size-2xl)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--size-sm);font-weight:500;letter-spacing:.04em;padding:10px 24px;border-radius:20px;transition:background var(--transition),color var(--transition),border-color var(--transition),transform var(--transition),box-shadow var(--transition);white-space:nowrap;text-transform:uppercase}.btn:focus-visible,.lang-btn:focus-visible,.faq-question:focus-visible,.nav-toggle:focus-visible,.hero-scroll-hint:focus-visible,.social-link:focus-visible,.footer-links nav a:focus-visible,.gallery-item:focus-visible,.btn-show-amenities:focus-visible{outline:3px solid var(--color-primary);outline-offset:4px;border-radius:var(--radius-sm)}.btn-primary{background:var(--gradient-primary);color:var(--color-text-light);border:1px solid var(--color-secondary);box-shadow:0 2px 10px rgba(var(--color-secondary-rgb),.2)}.btn-primary:hover{background:var(--color-secondary-dark);border-color:var(--color-secondary-dark);transform:translateY(-2px) scale(1.02);box-shadow:0 4px 15px rgba(var(--color-secondary-rgb),.3)}.btn-ghost{background:transparent;color:var(--color-text-light);border:1.5px solid rgba(var(--color-text-light-rgb),.4)}.btn-ghost:hover{background:rgba(var(--color-text-light-rgb),.12);border-color:var(--color-text-light);transform:translateY(-2px) scale(1.02);box-shadow:0 4px 12px #00000026}.btn-outline{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:var(--color-text-light);transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-md)}.btn:disabled,.btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn.loading{cursor:wait;opacity:.8;position:relative;color:transparent!important}.btn.loading:after{content:"";position:absolute;width:18px;height:18px;top:calc(50% - 9px);left:calc(50% - 9px);border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-large{padding:14px 36px;font-size:var(--size-base)}.btn-full{width:100%;justify-content:center}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.215,.61,.355,1),transform .8s cubic-bezier(.215,.61,.355,1)}.fade-in.visible{opacity:1;transform:none}.site-header{position:sticky;top:0;z-index:100;height:var(--header-height);background:rgba(var(--color-primary-rgb),.98);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;border-bottom:1px solid transparent}.site-header.scrolled{background:var(--color-primary);box-shadow:0 2px 10px #0000001a;border-bottom:1px solid rgba(255,255,255,.05)}.header-inner{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6);height:100%;display:flex;align-items:center;gap:var(--space-6)}.logo{display:flex;flex-direction:column;line-height:1.1;margin-right:auto}.logo-main{font-family:var(--font-heading);font-size:var(--size-xl);font-weight:600;color:var(--color-text-light);transition:color var(--transition)}.logo-sub{font-size:var(--size-xs);letter-spacing:.1em;text-transform:uppercase;color:rgba(var(--color-text-light-rgb),.55);transition:color var(--transition)}.logo-img{height:64px;width:auto;display:block;transition:height var(--transition)}@media (max-width: 768px){.logo-img{height:52px}}.main-nav{display:flex;align-items:center;gap:24px;flex:1;justify-content:center}.main-nav a{font-family:var(--font-body);font-size:var(--size-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);white-space:nowrap;transition:color var(--transition)}.main-nav a:hover{color:var(--color-text-light);transform:translateY(-1px)}@media (max-width: 1200px){.main-nav{gap:16px}.main-nav a{font-size:12px}}.lang-switcher{display:flex;align-items:center;gap:var(--space-2);font-size:var(--size-xs);font-weight:500;letter-spacing:.08em;color:rgba(var(--color-accent-rgb),.5)}.lang-btn{position:relative;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);color:var(--color-accent);font-family:var(--font-body);font-size:var(--size-xs);font-weight:500;letter-spacing:.1em;transition:all .25s ease;overflow:hidden}.lang-btn:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--color-secondary);transition:all .25s ease;transform:translate(-50%)}.lang-btn.active{color:var(--color-text-light);background:#ffffff1a}.lang-btn.active:after{width:60%}.lang-btn:hover{color:var(--color-text-light);background:#ffffff0d;transform:translateY(-1px) scale(1.05)}.header-cta{display:flex}.nav-toggle{display:none;flex-direction:column;gap:5px;padding:var(--space-2);margin-left:var(--space-2)}.nav-toggle span{display:block;width:22px;height:2px;background:var(--color-text-light);border-radius:2px;transition:transform var(--transition),opacity var(--transition)}.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav{position:fixed;top:var(--header-height);left:0;width:100%;height:calc(100vh - var(--header-height));display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-primary);padding:var(--space-8);z-index:99;transform:translate(-100%);transition:transform .4s cubic-bezier(.4,0,.2,1);visibility:hidden;border-top:1px solid rgba(255,255,255,.05)}.mobile-nav a{font-size:var(--size-lg);font-weight:500;padding:var(--space-4) 0;border-bottom:1px solid rgba(255,255,255,.05);color:var(--color-accent);transition:all .3s ease;transform:translate(-20px);opacity:0}.mobile-nav.open{transform:translate(0);visibility:visible}.mobile-nav.open a{transform:translate(0);opacity:1}.mobile-nav.open a:nth-child(1){transition-delay:.1s}.mobile-nav.open a:nth-child(2){transition-delay:.15s}.mobile-nav.open a:nth-child(3){transition-delay:.2s}.mobile-nav.open a:nth-child(4){transition-delay:.25s}.mobile-nav.open a:nth-child(5){transition-delay:.3s}.mobile-nav.open a:nth-child(6){transition-delay:.35s}.mobile-nav a:hover{color:var(--color-text-light);padding-left:8px}.mobile-nav a:last-child{border-bottom:none;margin-top:var(--space-6);transform:translateY(10px)}.mobile-nav.open a:last-child{transform:translateY(0)}body.menu-open{overflow:hidden}body.menu-open #main-content{filter:blur(4px);pointer-events:none;transition:filter .4s ease}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;margin-top:calc(-1 * var(--header-height));padding-top:var(--header-height);clip-path:polygon(0 0,100% 0,100% 90%,0 100%)}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/additional/casa-carolina-agropoli-pool.jpeg);background-size:cover;background-position:center;z-index:0}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient-hero);z-index:1}.hero-content{position:relative;z-index:2;color:var(--color-text-light);max-width:800px;width:100%;padding:var(--space-12) var(--space-6);text-align:center;display:flex;flex-direction:column;align-items:center}.hero-eyebrow{display:inline-block;background:var(--color-secondary);color:var(--color-text-light);padding:5px 16px;border-radius:var(--radius-full);font-size:var(--size-sm);font-weight:500;letter-spacing:.25em;text-transform:uppercase;margin-bottom:var(--space-6)}.hero-content h1{font-weight:300;font-style:italic;margin-bottom:var(--space-6);text-shadow:0 2px 10px rgba(0,0,0,.15),0 4px 24px rgba(0,0,0,.2)}.hero-sub{font-size:var(--size-lg);color:var(--color-accent);max-width:500px;margin:0 auto var(--space-10);line-height:1.6;text-align:center}.hero-actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap;margin-top:var(--space-8)}.hero-scroll-hint{position:absolute;bottom:var(--space-8);left:50%;transform:translate(-50%);z-index:2;color:#fff9;animation:bounce 2s ease infinite}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(8px)}}#highlights,#gallery{background:var(--color-bg);border-top:1px solid var(--color-border)}#experience{background:var(--color-surface);border-top:1px solid var(--color-border)}#amenities{background:var(--color-bg);border-top:1px solid var(--color-border)}#location{background:var(--color-surface);border-top:1px solid var(--color-border)}#rates{background:var(--color-primary);border-top:1px solid var(--color-border)}#testimonials{background:var(--color-bg);border-top:1px solid var(--color-border)}#faq{background:var(--color-surface);border-top:1px solid var(--color-border)}#contact{background:var(--color-bg);border-top:1px solid var(--color-border)}#location .location-facts{background:var(--color-bg);border-color:var(--color-border)}.highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-8)}.highlight-card{text-align:center;padding:var(--space-8) var(--space-6);border-radius:var(--radius-lg);border:.5px solid rgba(var(--color-secondary-rgb),.2);border-top:3px solid var(--color-secondary);background:var(--color-white);transition:transform var(--transition),box-shadow var(--transition)}.highlight-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:rgba(var(--color-secondary-rgb),.4)}.highlight-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:rgba(var(--color-primary-rgb),.08);border-radius:var(--radius-full);color:var(--color-primary);margin:0 auto var(--space-4)}.highlight-card h3{font-size:var(--size-xl);margin-bottom:var(--space-3);color:var(--color-primary)}.highlight-card p{color:var(--color-text-muted);font-size:var(--size-sm);line-height:1.6}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:240px 240px;gap:var(--space-3);padding:0 var(--space-6);max-width:1400px;margin:0 auto}.gallery-item{position:relative;overflow:hidden;border-radius:var(--radius-md);cursor:pointer;background-color:var(--color-surface-alt)}.gallery-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(var(--color-primary-rgb),.3);opacity:0;transition:opacity .3s ease;transition-delay:.1s;pointer-events:none;z-index:1}.gallery-item:hover:after{opacity:1}.gallery-item--wide{grid-column:span 2}.gallery-item--tall{grid-row:span 2}.gallery-placeholder{width:100%;height:100%;transition:transform var(--transition);position:relative}.gallery-placeholder:after{content:"Photo Placeholder";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:var(--size-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(var(--color-surface-rgb),.5)}.gallery-item:hover .gallery-placeholder{transform:scale(1.04)}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.03)}.gallery-item figcaption{position:absolute;bottom:0;left:0;right:0;padding:var(--space-3) var(--space-4);background:linear-gradient(to top,rgba(0,0,0,.7),transparent);color:var(--color-white);font-size:var(--size-xs);font-weight:500;letter-spacing:.06em;text-transform:uppercase;opacity:0;transition:opacity var(--transition);z-index:2}.gallery-item:hover figcaption{opacity:1}.experience-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}.experience-image img,.experience-image .placeholder-image{width:100%;aspect-ratio:3/4;border-radius:var(--radius-xl);object-fit:cover;display:block;background-color:var(--color-bg-alt)}.experience-image .placeholder-image{position:relative;overflow:hidden}.experience-image .placeholder-image:after{content:"Photo Placeholder";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:var(--size-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(var(--color-surface-rgb),.4)}.experience-text h2{margin-bottom:var(--space-6);position:relative;padding-bottom:var(--space-4)}.experience-text h2:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:2px;background:var(--color-secondary);opacity:.4}.experience-text p{color:var(--color-text-muted);margin-bottom:var(--space-4);line-height:1.75}.experience-text em{color:var(--color-secondary);font-style:italic}.experience-text .btn{margin-top:var(--space-4)}.amenities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4)}.amenity-item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--size-sm);font-weight:400;color:var(--color-text);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:background var(--transition),transform var(--transition);cursor:default}.amenity-item:hover{background:rgba(var(--color-primary-rgb),.05);transform:translate(4px)}.amenity-item svg{color:var(--color-primary);flex-shrink:0}.amenities-show-wrap{text-align:center;margin-top:2rem}.btn-show-amenities{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;border:1.5px solid var(--color-text-muted);background:transparent;color:var(--color-text-muted);font-family:inherit;font-size:.875rem;letter-spacing:.06em;cursor:pointer;border-radius:2px;transition:background .2s,color .2s,transform .2s,box-shadow .2s}.btn-show-amenities:hover{background:var(--color-text-muted);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-show-amenities .amd-chevron{transition:transform .35s ease}.btn-show-amenities[aria-expanded=true] .amd-chevron{transform:rotate(180deg)}.amenities-detail{overflow:hidden;max-height:0;transition:max-height .6s cubic-bezier(.4,0,.2,1)}.amenities-detail-inner{padding-top:2.5rem;border-top:1px solid rgba(0,0,0,.08);margin-top:2rem;transition:background .3s ease,box-shadow .3s ease}.amenities-detail[aria-hidden=false] .amenities-detail-inner{background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:var(--radius-lg);padding:2.5rem 1.5rem}.amenities-detail-grid{display:grid;grid-template-columns:1fr 1fr}.amd-cat{padding:1.25rem 1rem;border-bottom:1px solid rgba(0,0,0,.08)}.amd-cat:nth-child(odd){border-right:1px solid rgba(0,0,0,.08)}.amd-cat h3{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:#c25615;margin:0 0 .5rem;font-weight:600}.amd-cat p{font-size:.95rem;color:#162e4a;margin:0;line-height:1.65}.amd-cat p+p{margin-top:.35rem}@media (max-width: 640px){.amenities-detail-grid{grid-template-columns:1fr}.amd-cat:nth-child(odd){border-right:none}}.location-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:start}.location-text h2{margin-bottom:var(--space-6);position:relative;padding-bottom:var(--space-4)}.location-text h2:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:2px;background:var(--color-secondary);opacity:.4}.location-text p{color:var(--color-text-muted);margin-bottom:var(--space-4);line-height:1.8}.location-facts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-8);padding:var(--space-6);background:var(--color-bg-alt);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.location-facts li{display:flex;flex-direction:column;gap:var(--space-1)}.location-facts strong{font-family:var(--font-heading);font-size:var(--size-2xl);color:var(--color-primary);line-height:1}.location-facts span{font-size:var(--size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.map-placeholder{width:100%;aspect-ratio:1;max-height:480px;background:var(--color-bg-alt);border:2px dashed var(--color-border);border-radius:var(--radius-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-text-muted);text-align:center;padding:var(--space-8)}.map-placeholder p{font-family:var(--font-heading);font-size:var(--size-xl);color:var(--color-text-muted)}.map-placeholder span{font-size:var(--size-sm);opacity:.7}.location-map iframe{width:100%;height:480px;border-radius:var(--radius-xl);display:block}.rates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin-bottom:var(--space-12)}#rates .section-header h2{color:var(--color-text-light)}#rates .section-sub{color:rgba(var(--color-text-light-rgb),.75)}#rates .eyebrow{color:var(--color-accent)}#rates .rates-cta p{color:rgba(var(--color-text-light-rgb),.7)}.rate-card{padding:var(--space-8);border-radius:var(--radius-xl);background:rgba(var(--color-surface-rgb),.08);border:1px solid rgba(var(--color-surface-rgb),.15);color:var(--color-white);text-align:center;position:relative;transition:transform var(--transition),box-shadow var(--transition)}.rate-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:rgba(var(--color-surface-rgb),.4)}.rate-card--featured{background:rgba(var(--color-surface-rgb),.13);border-color:rgba(var(--color-surface-rgb),.3);color:var(--color-white);transform:scale(1.04);box-shadow:var(--shadow-lg)}.rate-card--featured:hover{transform:scale(1.04) translateY(-6px);border-color:rgba(var(--color-surface-rgb),.5)}.rate-badge{display:inline-block;background:var(--color-secondary);color:var(--color-white);font-size:var(--size-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);margin-bottom:var(--space-4)}.rate-season{font-family:var(--font-heading);font-size:var(--size-2xl);margin-bottom:var(--space-1);color:var(--color-text-light)}.rate-months{font-size:var(--size-sm);color:rgba(var(--color-text-light-rgb),.7);margin-bottom:var(--space-6);text-transform:uppercase;letter-spacing:.05em}.rate-price{font-family:var(--font-heading);font-size:var(--size-5xl);line-height:1;margin-bottom:var(--space-4);color:var(--color-secondary)}.rate-currency{font-size:var(--size-2xl);vertical-align:top;line-height:1.5;color:var(--color-secondary)}.rate-unit{font-family:var(--font-body);font-size:var(--size-sm);opacity:.7}.rate-note{font-size:var(--size-sm);color:rgba(var(--color-text-light-rgb),.7);line-height:1.5}.rates-cta{text-align:center}.rates-cta p{font-size:var(--size-sm);color:var(--color-text-muted);margin-bottom:var(--space-6)}.rates-cta-buttons{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.accommodation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin-top:var(--space-10)}.accommodation-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);transition:box-shadow var(--transition),transform var(--transition)}.accommodation-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(var(--shadow-color-rgb),.12);border-color:rgba(var(--color-primary-rgb),.3)}.accommodation-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:rgba(var(--color-primary-rgb),.07);border-radius:var(--radius-lg)}.accommodation-title{font-family:var(--font-heading);font-size:var(--size-xl);font-weight:600;color:var(--color-primary);line-height:1.3;margin:0 0 var(--space-2)}.accommodation-card ul{list-style:none;padding:0;margin:0 0 var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.accommodation-card ul li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--size-sm);color:var(--color-primary)}.accommodation-detail{font-size:var(--size-sm);color:var(--color-text-muted);margin:0}.accommodation-guests{display:inline-block;font-size:var(--size-xs);font-weight:500;letter-spacing:.05em;color:var(--color-primary);background:rgba(var(--color-primary-rgb),.08);border-radius:var(--radius-full);padding:4px 12px}.accommodation-card .btn{margin-top:var(--space-6);align-self:stretch;text-align:center;justify-content:center}.accommodation-note{text-align:center;font-size:var(--size-sm);color:var(--color-text-muted);margin-top:var(--space-8)}@media (max-width: 1024px){.accommodation-grid,.testimonials-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}}@media (max-width: 768px){.accommodation-grid{grid-template-columns:1fr;max-width:450px;margin:0 auto}.testimonials-grid{grid-template-columns:1fr}}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.testimonial-card{padding:calc(var(--space-8) + 8px);border-radius:var(--radius-xl);background:var(--color-bg);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-4);transition:transform var(--transition),box-shadow var(--transition);position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000f}.testimonial-card:before{content:"“";position:absolute;top:-10px;left:10px;font-size:120px;line-height:1;color:var(--color-secondary);opacity:.12;font-family:Georgia,serif;pointer-events:none;z-index:0}.testimonial-card:hover{transform:translateY(-5px) scale(1.01);box-shadow:0 8px 24px #2a26211f;border-color:rgba(var(--color-secondary-rgb),.3)}.stars{display:flex;gap:3px;color:var(--color-secondary);position:relative;z-index:1}.testimonial-card blockquote{flex:1;position:relative;z-index:1}.testimonial-card blockquote p{font-family:var(--font-heading);font-size:var(--size-lg);font-style:italic;line-height:1.7;color:var(--color-text);flex:1}.testimonial-author{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);position:relative;z-index:1}.author-avatar{width:44px;height:44px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:var(--size-xs);font-weight:600;flex-shrink:0}.testimonial-author strong{display:block;font-size:var(--size-sm);font-weight:500;color:var(--color-primary)}.testimonial-author span{font-size:var(--size-xs);color:var(--color-text-muted)}.review-source{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--color-text-muted);margin-top:2px;opacity:.8;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.review-source:before{content:"";display:inline-block;width:12px;height:12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23D4611A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.faq-container{max-width:760px}.faq-list{display:flex;flex-direction:column}.faq-item{border-bottom:1px solid var(--color-border);transition:background var(--transition)}.faq-item:hover{background:rgba(var(--color-primary-rgb),.03)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) 0;text-align:left;font-family:var(--font-body);font-size:var(--size-base);font-weight:500;color:var(--color-text);transition:color var(--transition)}.faq-question:hover{color:var(--color-primary);padding-left:4px}.faq-icon{flex-shrink:0;color:var(--color-primary);transition:transform var(--transition)}.faq-question[aria-expanded=true] .faq-icon{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease}.faq-answer[aria-hidden=false]{max-height:400px;padding-bottom:var(--space-6);border-left:4px solid var(--color-primary);padding-left:var(--space-6);margin-left:var(--space-2)}.faq-answer p{color:var(--color-text-muted);line-height:1.75}.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-16);align-items:start}.contact-info h2{margin-bottom:var(--space-6);position:relative;padding-bottom:var(--space-4)}.contact-info h2:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:2px;background:var(--color-secondary);opacity:.4}.contact-info>p{color:var(--color-text-muted);margin-bottom:var(--space-8);line-height:1.8}.whatsapp-btn{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:var(--color-whatsapp);color:var(--color-white);border-radius:var(--radius-full);font-weight:500;font-size:var(--size-sm);transition:background var(--transition),transform var(--transition);margin-bottom:var(--space-8)}.whatsapp-btn:hover{background:var(--color-whatsapp-dark);transform:translateY(-3px);box-shadow:0 4px 15px #25d3664d}.contact-details p{font-size:var(--size-sm);margin-bottom:var(--space-2);color:var(--color-text-muted)}.contact-details a{color:var(--color-secondary);font-weight:500;transition:color var(--transition),text-decoration var(--transition)}.contact-details a:hover{color:var(--color-secondary);text-decoration:underline}.contact-form{background:var(--color-white);padding:var(--space-8);border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}label{font-size:var(--size-sm);font-weight:500;color:var(--color-text)}input,select,textarea{font-family:var(--font-body);font-size:var(--size-base);padding:12px 16px;background:rgba(var(--color-surface-rgb),.95);border:1.5px solid var(--color-border);border-left:0 solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-text);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,border-left .2s ease;outline:none;width:100%}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:.6}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),.15);border-left-width:4px;background:var(--color-white)}input.error,select.error,textarea.error{border-color:var(--color-error);background-color:#c0392b0a}.form-error{display:flex;align-items:center;gap:4px;font-size:var(--size-xs);color:var(--color-error);min-height:16px;margin-top:4px;transition:opacity .2s ease}.form-error:not(:empty):before{content:"✕";font-weight:700}textarea{resize:vertical}.form-privacy{font-size:var(--size-xs);color:var(--color-text-muted);text-align:center;margin-top:var(--space-4);line-height:1.5}.form-success{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:#25d36614;border:1px solid var(--color-whatsapp);border-radius:var(--radius-md);color:var(--color-primary);font-size:var(--size-sm);font-weight:500;margin-top:var(--space-4);transform:translateY(10px);opacity:0;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .4s ease}.form-success:not([hidden]){display:flex;transform:translateY(0);opacity:1}.form-success svg{color:var(--color-whatsapp);animation:check-pop .5s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes check-pop{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes form-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(6px)}75%{transform:translate(-6px)}}.form-shake{animation:form-shake .4s ease-in-out}.site-footer{background:var(--color-primary);color:var(--color-accent);padding:var(--space-20) 0 var(--space-8)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.5fr 1fr;gap:var(--space-8);row-gap:var(--space-10);padding-bottom:var(--space-12);border-bottom:1px solid rgba(var(--color-text-light-rgb),.1);margin-bottom:var(--space-8)}.footer-logo{height:80px;width:auto;margin-bottom:var(--space-4);display:block}.footer-brand p{font-size:var(--size-sm);line-height:1.6;margin-bottom:var(--space-2);color:var(--color-accent)}.footer-address{font-size:var(--size-xs);color:var(--color-accent)}.footer-links h3,.footer-legal h3,.footer-social h3{font-family:var(--font-body);font-size:var(--size-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-light);margin-bottom:var(--space-4)}.footer-links nav{display:flex;flex-direction:column;gap:var(--space-3)}.footer-links nav a{font-size:var(--size-sm);color:var(--color-accent);transition:color var(--transition),transform var(--transition),text-decoration var(--transition)}.footer-links nav a:hover{color:var(--color-text-light);transform:translate(4px)}.footer-links nav a{position:relative;display:inline-block}.footer-links nav a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:currentColor;transition:width .3s ease}.footer-links nav a:hover:after{width:100%}.footer-legal p{font-size:var(--size-xs);line-height:1.6;margin-bottom:var(--space-2);color:var(--color-accent)}.footer-legal code{font-size:var(--size-xs);background:rgba(var(--color-text-light-rgb),.08);padding:1px 4px;border-radius:3px;font-family:monospace;color:var(--color-accent)}.footer-legal-note{opacity:.5;margin-top:var(--space-3)}.social-links{display:flex;flex-direction:column;gap:var(--space-4)}.social-link{display:flex;align-items:center;gap:var(--space-3);font-size:var(--size-sm);color:var(--color-accent);transition:color var(--transition),transform var(--transition),text-decoration var(--transition)}.social-link:hover{color:var(--color-text-light);transform:translate(4px)}.social-link{position:relative;display:flex}.social-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:currentColor;transition:width .3s ease}.social-link:hover:after{width:100%}.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:var(--size-xs);color:var(--color-accent);flex-wrap:wrap;gap:var(--space-3)}.footer-bottom p{color:var(--color-accent)}@media (max-width: 1024px){.gallery-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:auto}.gallery-item--wide{grid-column:span 2}.gallery-item--tall{grid-row:span 1}.rates-grid{gap:var(--space-4)}.testimonials-grid{grid-template-columns:1fr;gap:var(--space-4)}.footer-grid{grid-template-columns:1fr 1fr;row-gap:var(--space-10)}}@media (max-width: 768px){:root{--header-height: 64px}.section-padding{padding:var(--space-16) 0}#gallery.section-padding,#faq.section-padding{padding:var(--space-12) 0}.main-nav,.header-cta{display:none}.nav-toggle{display:flex}.lang-switcher{display:flex;gap:var(--space-1)}.lang-switcher .lang-btn{padding:var(--space-1) var(--space-2)}.hero-actions{flex-direction:column;align-items:center}.btn-large{width:100%;max-width:300px;justify-content:center}.gallery-grid{grid-template-columns:1fr 1fr;padding:0 var(--space-4)}.gallery-item--wide{grid-column:span 2}.gallery-item--tall{grid-row:span 1}.experience-layout{grid-template-columns:1fr;gap:var(--space-8)}.experience-image{display:block;order:-1}.experience-image img{aspect-ratio:16/9;max-height:300px}.location-layout{grid-template-columns:1fr;gap:var(--space-8)}.location-facts{grid-template-columns:1fr 1fr}.rates-grid{grid-template-columns:1fr;max-width:380px;margin-left:auto;margin-right:auto}.rate-card--featured{transform:none}.rate-card--featured:hover{transform:translateY(-4px)}.contact-layout{grid-template-columns:1fr;gap:var(--space-10)}.form-row,.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}}@media (max-width: 480px){.container{padding:0 var(--space-4)}.gallery-grid{grid-template-columns:1fr;padding:0 var(--space-4)}.gallery-item--wide{grid-column:span 1}.highlights-grid,.location-facts,.accommodation-grid{grid-template-columns:1fr}.amenities-grid{grid-template-columns:1fr 1fr}.btn{padding:12px 28px;font-size:var(--size-base)}}#lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:zoom-out}#lightbox.open{opacity:1;visibility:visible}#lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 20px 50px #00000080;transform:scale(.95);transition:transform .4s cubic-bezier(.215,.61,.355,1),opacity .4s ease}#lightbox.open #lightbox-img{transform:scale(1)}#lightbox-close{position:absolute;top:var(--space-8);right:var(--space-8);color:#fff;font-size:2rem;z-index:2001;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:50%;transition:all .3s ease;cursor:pointer}#lightbox-close:hover{background:#fff3;transform:rotate(90deg)}.gallery-item img{cursor:zoom-in}section:target{animation:sectionHighlight 1.5s ease-out}@keyframes sectionHighlight{0%{background-color:rgba(var(--color-secondary-rgb),.05)}to{background-color:transparent}}@keyframes pulse{0%{box-shadow:0 0 #25d36680}70%{box-shadow:0 0 0 12px #25d36600}to{box-shadow:0 0 #25d36600}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.fade-in{opacity:1!important;transform:none!important;transition:none!important}.hero-scroll-hint{animation:none!important}.btn,.lang-btn,.gallery-item img,.highlight-card,.accommodation-card,.testimonial-card,.faq-icon,.amd-chevron{transition:none!important;transform:none!important}.btn:hover,.lang-btn:hover,.faq-question:hover{transition:none!important}}
