:root{--color-primary:#1a1a2e;--color-primary-light:#2d2d4e;--color-primary-rgb:26, 26, 46;--color-accent:#c9a96e;--color-accent-light:#d4b97e;--color-accent-dark:#b8944f;--color-accent-rgb:201, 169, 110;--color-bg:#fafaf8;--color-bg-alt:#f0efe8;--color-bg-dark:#1a1a2e;--color-text:#2d2d2d;--color-text-light:#6b6b6b;--color-text-white:#fff;--color-secondary:#4a6741;--color-secondary-light:#5a7a51;--color-error:#c0392b;--color-success:#27ae60;--color-border:#e0ddd5;--color-border-light:#eceae3;--font-heading:"Cormorant Garamond", "Georgia", "Times New Roman", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fs-display:clamp(2.8rem, 5vw + 1rem, 5.5rem);--fs-h1:clamp(2.2rem, 4vw + .5rem, 4rem);--fs-h2:clamp(1.8rem, 3vw + .5rem, 3rem);--fs-h3:clamp(1.4rem, 2vw + .4rem, 2rem);--fs-h4:clamp(1.15rem, 1.5vw + .3rem, 1.5rem);--fs-h5:clamp(1rem, 1vw + .3rem, 1.25rem);--fs-body:clamp(.95rem, .5vw + .8rem, 1.125rem);--fs-body-sm:clamp(.85rem, .4vw + .7rem, .95rem);--fs-caption:clamp(.75rem, .3vw + .65rem, .85rem);--fs-overline:clamp(.7rem, .25vw + .6rem, .8rem);--lh-heading:1.2;--lh-body:1.7;--ls-tight:-.02em;--ls-normal:0;--ls-wide:.08em;--ls-wider:.15em;--ls-widest:.25em;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--space-section:clamp(4rem, 8vw, 8rem);--max-width:1200px;--max-width-narrow:800px;--max-width-wide:1400px;--header-height:80px;--header-height-scrolled:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a;--shadow-lg:0 10px 30px #0000001a, 0 4px 8px #0000000d;--shadow-xl:0 20px 50px #0000001f, 0 8px 16px #0000000f;--shadow-accent:0 4px 20px #c9a96e4d;--shadow-header:0 2px 20px #00000014;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--z-base:1;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;hanging-punctuation:first last}body{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--color-text);background-color:var(--color-bg);text-rendering:optimizelegibility;min-height:100dvh;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-alt)}::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-dark)}*{scrollbar-width:thin;scrollbar-color:var(--color-accent) var(--color-bg-alt)}::selection{background:var(--color-accent);color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:var(--lh-heading);letter-spacing:var(--ls-tight);color:var(--color-primary);text-wrap:balance;font-weight:600}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}h5{font-size:var(--fs-h5)}p{text-wrap:pretty;max-width:72ch}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent)}button{cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none}ul,ol{list-style:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.container{width:100%;max-width:var(--max-width);padding-left:var(--space-lg);padding-right:var(--space-lg);margin-left:auto;margin-right:auto}.container-narrow{max-width:var(--max-width-narrow)}.container-wide{max-width:var(--max-width-wide)}.section{padding-top:var(--space-section);padding-bottom:var(--space-section)}.section-sm{padding-top:var(--space-3xl);padding-bottom:var(--space-3xl)}.section-header{text-align:center;margin-bottom:var(--space-3xl)}.section-overline{font-family:var(--font-body);font-size:var(--fs-overline);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-sm);font-weight:500;display:block}.section-title{font-family:var(--font-heading);font-size:var(--fs-h2);color:var(--color-primary);font-weight:600;line-height:var(--lh-heading);margin-bottom:var(--space-md)}.section-subtitle{font-size:var(--fs-body);color:var(--color-text-light);max-width:600px;line-height:var(--lh-body);margin-left:auto;margin-right:auto}.divider-accent{background:var(--color-accent);width:60px;height:2px;margin:var(--space-lg) auto;border:none}.divider-accent-left{margin-left:0}.btn{justify-content:center;align-items:center;gap:var(--space-sm);font-family:var(--font-body);font-size:var(--fs-body-sm);letter-spacing:var(--ls-wide);text-transform:uppercase;border-radius:var(--radius-sm);transition:background var(--transition-base), color var(--transition-base), border-color var(--transition-base), transform var(--transition-fast), box-shadow var(--transition-base);cursor:pointer;white-space:nowrap;border:2px solid #0000;padding:.85em 2em;font-weight:500;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--color-accent);color:var(--color-primary);border-color:var(--color-accent)}.btn-primary:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark);color:var(--color-text-white);box-shadow:var(--shadow-accent)}.btn-secondary{background:var(--color-primary);color:var(--color-text-white);border-color:var(--color-primary)}.btn-secondary:hover{background:var(--color-primary-light);border-color:var(--color-primary-light);box-shadow:var(--shadow-lg)}.btn-outline{color:var(--color-accent);border-color:var(--color-accent);background:0 0}.btn-outline:hover{background:var(--color-accent);color:var(--color-primary)}.btn-outline-white{color:var(--color-text-white);background:0 0;border-color:#ffffff80}.btn-outline-white:hover{background:var(--color-text-white);color:var(--color-primary);border-color:var(--color-text-white)}.btn-ghost{color:var(--color-accent);letter-spacing:var(--ls-wide);background:0 0;border-radius:0;padding:.5em 0}.btn-ghost:after{content:"";background:var(--color-accent);transform-origin:100%;width:100%;height:1px;transition:transform var(--transition-base);position:absolute;bottom:0;left:0;transform:scaleX(0)}.btn-ghost:hover:after{transform-origin:0;transform:scaleX(1)}.btn-ghost:hover{transform:none}.btn-lg{font-size:var(--fs-body);padding:1.1em 2.8em}.btn-sm{font-size:var(--fs-caption);padding:.6em 1.4em}.btn-icon{border-radius:var(--radius-full);justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.card{background:var(--color-text-white);border-radius:var(--radius-lg);transition:transform var(--transition-base), box-shadow var(--transition-base);box-shadow:var(--shadow-sm);overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-body{padding:var(--space-xl)}.card-image{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform var(--transition-slow)}.card:hover .card-image{transform:scale(1.05)}.card-image-wrapper{position:relative;overflow:hidden}.glass{-webkit-backdrop-filter:blur(20px);background:#ffffff1f;border:1px solid #ffffff26}.glass-dark{-webkit-backdrop-filter:blur(20px);background:#1a1a2ebf;border:1px solid #ffffff14}.grid-2,.grid-3,.grid-4{gap:var(--space-xl);grid-template-columns:1fr;display:grid}.text-accent{color:var(--color-accent)}.text-primary{color:var(--color-primary)}.text-light{color:var(--color-text-light)}.text-white{color:var(--color-text-white)}.text-secondary{color:var(--color-secondary)}.text-center{text-align:center}.bg-primary{background-color:var(--color-primary)}.bg-accent{background-color:var(--color-accent)}.bg-alt{background-color:var(--color-bg-alt)}.bg-white{background-color:var(--color-text-white)}.bg-dark{background-color:var(--color-bg-dark)}.mt-section{margin-top:var(--space-section)}.mb-section{margin-bottom:var(--space-section)}.header{z-index:var(--z-sticky);height:var(--header-height);transition:background var(--transition-base), height var(--transition-base), box-shadow var(--transition-base);align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.header.header--scrolled{height:var(--header-height-scrolled);-webkit-backdrop-filter:blur(24px);box-shadow:var(--shadow-header);background:#1a1a2eeb}.header.header--scrolled .header__logo-text{font-size:1.1rem}.header__inner{width:100%;max-width:var(--max-width-wide);padding:0 var(--space-xl);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.header__logo{align-items:center;gap:var(--space-sm);flex-shrink:0;text-decoration:none;display:flex}.header__logo-text{font-family:var(--font-heading);color:var(--color-text-white);letter-spacing:var(--ls-wider);text-transform:uppercase;transition:font-size var(--transition-base);white-space:nowrap;font-size:1.3rem;font-weight:600}.header__logo-accent{color:var(--color-accent)}.header__nav{display:none}.header__nav-list{align-items:center;gap:var(--space-md);display:flex}.header__nav-link{font-family:var(--font-body);letter-spacing:1px;text-transform:uppercase;color:#fffc;padding:var(--space-xs) 0;transition:color var(--transition-fast);white-space:nowrap;font-size:.75rem;font-weight:400;text-decoration:none;position:relative}.header__nav-link:after{content:"";background:var(--color-accent);transform-origin:100%;width:100%;height:1.5px;transition:transform var(--transition-base);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.header__nav-link:hover,.header__nav-link--active{color:var(--color-text-white)}.header__nav-link:hover:after,.header__nav-link--active:after{transform-origin:0;transform:scaleX(1)}.header__nav-link--active{color:var(--color-accent)}.header__actions{align-items:center;gap:var(--space-lg);flex-shrink:0;display:flex}.header__cta{display:none}.header__menu-btn{cursor:pointer;width:32px;height:32px;z-index:calc(var(--z-overlay) + 10);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px;display:flex}.header__menu-line{background:var(--color-text-white);width:22px;height:2px;transition:transform var(--transition-base), opacity var(--transition-fast);transform-origin:50%;border-radius:2px;display:block}.header__menu-btn--open .header__menu-line:first-child{transform:rotate(45deg)translate(5px,5px)}.header__menu-btn--open .header__menu-line:nth-child(2){opacity:0}.header__menu-btn--open .header__menu-line:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.mobile-drawer{background:var(--color-primary);width:min(380px,85vw);z-index:var(--z-overlay);transition:transform var(--transition-slow);padding:calc(var(--header-height) + var(--space-xl)) var(--space-2xl) var(--space-2xl);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.mobile-drawer--open{transform:translate(0)}.mobile-drawer__overlay{z-index:calc(var(--z-overlay) - 1);opacity:0;visibility:hidden;transition:opacity var(--transition-base), visibility var(--transition-base);background:#0009;position:fixed;inset:0}.mobile-drawer__overlay--visible{opacity:1;visibility:visible}.mobile-drawer__nav-list{gap:var(--space-xs);flex-direction:column;display:flex}.mobile-drawer__nav-link{font-family:var(--font-heading);font-size:var(--fs-h4);color:#ffffffb3;padding:var(--space-sm) 0;transition:color var(--transition-fast);border-bottom:1px solid #ffffff0f;font-weight:500;text-decoration:none}.mobile-drawer__nav-link:hover,.mobile-drawer__nav-link--active{color:var(--color-accent)}.mobile-drawer__cta{margin-top:var(--space-2xl)}.mobile-drawer__lang{padding-top:var(--space-xl);border-top:1px solid #ffffff14;margin-top:auto}.footer{background:var(--color-primary);color:#ffffffb3;padding-top:var(--space-4xl);padding-bottom:0}.footer__grid{gap:var(--space-2xl);padding-bottom:var(--space-3xl);border-bottom:1px solid #ffffff14;grid-template-columns:1fr;display:grid}.footer__brand{max-width:320px}.footer__logo{font-family:var(--font-heading);color:var(--color-text-white);letter-spacing:var(--ls-wider);text-transform:uppercase;margin-bottom:var(--space-md);font-size:1.3rem;font-weight:600}.footer__description{font-size:var(--fs-body-sm);line-height:var(--lh-body);margin-bottom:var(--space-lg);color:#ffffff8c}.footer__social{gap:var(--space-md);display:flex}.footer__social-link{border-radius:var(--radius-full);color:#fff9;width:40px;height:40px;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);border:1px solid #ffffff26;justify-content:center;align-items:center;display:flex}.footer__social-link:hover{background:var(--color-accent);color:var(--color-primary);border-color:var(--color-accent)}.footer__social-link svg{width:18px;height:18px}.footer__column-title{font-family:var(--font-body);font-size:var(--fs-body-sm);color:var(--color-text-white);letter-spacing:var(--ls-wide);text-transform:uppercase;margin-bottom:var(--space-lg);font-weight:600}.footer__links{gap:var(--space-sm);flex-direction:column;display:flex}.footer__link{font-size:var(--fs-body-sm);color:#ffffff8c;transition:color var(--transition-fast);align-items:center;gap:var(--space-sm);text-decoration:none;display:inline-flex}.footer__link:hover{color:var(--color-accent)}.footer__newsletter-text{font-size:var(--fs-body-sm);color:#ffffff8c;margin-bottom:var(--space-md)}.footer__newsletter-form{gap:var(--space-sm);display:flex}.footer__newsletter-input{border-radius:var(--radius-sm);color:var(--color-text-white);font-size:var(--fs-body-sm);transition:border-color var(--transition-fast), background var(--transition-fast);background:#ffffff14;border:1px solid #ffffff1f;flex:1;min-width:0;padding:.7em 1em}.footer__newsletter-input::placeholder{color:#ffffff59}.footer__newsletter-input:focus{border-color:var(--color-accent);background:#ffffff1f;outline:none}.footer__newsletter-btn{background:var(--color-accent);color:var(--color-primary);border-radius:var(--radius-sm);font-size:var(--fs-body-sm);letter-spacing:var(--ls-wide);text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast);white-space:nowrap;border:none;padding:.7em 1.2em;font-weight:600}.footer__newsletter-btn:hover{background:var(--color-accent-dark);transform:translateY(-1px)}.footer__bottom{align-items:center;gap:var(--space-md);padding:var(--space-xl) 0;font-size:var(--fs-caption);color:#ffffff59;flex-direction:column;display:flex}.footer__bottom-links{gap:var(--space-lg);display:flex}.footer__bottom-link{color:#ffffff59;transition:color var(--transition-fast);text-decoration:none}.footer__bottom-link:hover{color:var(--color-accent)}.hero{min-height:100dvh;color:var(--color-text-white);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero__background{z-index:0;position:absolute;inset:0}.hero__background img,.hero__background video{object-fit:cover;width:100%;height:100%}.hero__overlay{z-index:1;background:linear-gradient(#1a1a2e80 0%,#1a1a2e4d 40%,#1a1a2e99 100%);position:absolute;inset:0}.hero__content{z-index:2;text-align:center;padding:var(--space-2xl);max-width:800px;position:relative}.hero__overline{font-family:var(--font-body);font-size:var(--fs-overline);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-lg);font-weight:500;display:block}.hero__title{font-family:var(--font-heading);font-size:var(--fs-display);color:var(--color-text-white);margin-bottom:var(--space-lg);letter-spacing:var(--ls-tight);font-weight:600;line-height:1.1}.hero__subtitle{font-size:var(--fs-body);color:#fffc;max-width:550px;margin:0 auto var(--space-2xl);line-height:var(--lh-body)}.hero__actions{justify-content:center;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.hero__scroll-indicator{bottom:var(--space-2xl);z-index:2;align-items:center;gap:var(--space-sm);color:#ffffff80;font-size:var(--fs-caption);letter-spacing:var(--ls-wide);flex-direction:column;animation:3s ease-in-out infinite float;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hero__scroll-line{background:linear-gradient(to bottom, var(--color-accent), transparent);width:1px;height:40px;animation:2s ease-in-out infinite scrollLine}.room-card{background:var(--color-text-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-base), box-shadow var(--transition-base);overflow:hidden}.room-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-6px)}.room-card__image-wrapper{aspect-ratio:4/3;position:relative;overflow:hidden}.room-card__image{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.room-card:hover .room-card__image{transform:scale(1.08)}.room-card__badge{top:var(--space-md);left:var(--space-md);background:var(--color-accent);color:var(--color-primary);font-size:var(--fs-caption);border-radius:var(--radius-sm);letter-spacing:var(--ls-wide);text-transform:uppercase;padding:.3em .8em;font-weight:600;position:absolute}.room-card__body{padding:var(--space-xl)}.room-card__category{font-size:var(--fs-overline);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-sm);font-weight:500}.room-card__name{font-family:var(--font-heading);font-size:var(--fs-h4);color:var(--color-primary);margin-bottom:var(--space-sm);font-weight:600}.room-card__description{font-size:var(--fs-body-sm);color:var(--color-text-light);margin-bottom:var(--space-lg);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.room-card__features{gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border-light);flex-wrap:wrap;display:flex}.room-card__feature{align-items:center;gap:var(--space-xs);font-size:var(--fs-caption);color:var(--color-text-light);display:flex}.room-card__feature svg{width:16px;height:16px;color:var(--color-accent)}.room-card__footer{justify-content:space-between;align-items:center;display:flex}.room-card__price{font-family:var(--font-heading);font-size:var(--fs-h4);color:var(--color-primary);font-weight:600}.room-card__price-label{font-family:var(--font-body);font-size:var(--fs-caption);color:var(--color-text-light);font-weight:400}.booking-bar{background:var(--color-text-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-xl);gap:var(--space-md);z-index:var(--z-base);grid-template-columns:1fr;display:grid;position:relative}.booking-bar--floating{margin-top:calc(-1 * var(--space-3xl))}.form-group{gap:var(--space-xs);flex-direction:column;display:flex}.form-label{font-size:var(--fs-overline);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--color-text-light);font-weight:600}.form-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:var(--fs-body-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);width:100%;padding:.8em 1em}.form-input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #c9a96e26}.form-input::placeholder{color:var(--color-text-light);opacity:.7}.form-textarea{resize:vertical;min-height:120px}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b6b6b' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");background-position:right 1em center;background-repeat:no-repeat;padding-right:2.5em}.form-error{font-size:var(--fs-caption);color:var(--color-error);margin-top:var(--space-xs)}.form-success{font-size:var(--fs-caption);color:var(--color-success);margin-top:var(--space-xs)}.gallery-grid{gap:var(--space-sm);grid-template-columns:1fr;display:grid}.gallery-item{border-radius:var(--radius-md);cursor:pointer;aspect-ratio:1;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.gallery-item:hover img{transform:scale(1.1)}.gallery-item__overlay{opacity:0;transition:opacity var(--transition-base);padding:var(--space-lg);background:linear-gradient(#0000 50%,#1a1a2eb3 100%);align-items:flex-end;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-item__overlay{opacity:1}.gallery-item__caption{color:var(--color-text-white);font-family:var(--font-heading);font-size:var(--fs-h5)}.testimonial-card{background:var(--color-text-white);border-radius:var(--radius-lg);padding:var(--space-2xl);box-shadow:var(--shadow-sm);transition:transform var(--transition-base), box-shadow var(--transition-base);position:relative}.testimonial-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.testimonial-card__quote-icon{top:var(--space-lg);right:var(--space-xl);font-family:var(--font-heading);color:var(--color-accent);opacity:.15;font-size:5rem;line-height:1;position:absolute}.testimonial-card__stars{margin-bottom:var(--space-md);color:var(--color-accent);gap:2px;display:flex}.testimonial-card__stars svg{width:18px;height:18px}.testimonial-card__text{font-size:var(--fs-body);color:var(--color-text);margin-bottom:var(--space-xl);font-style:italic;line-height:var(--lh-body);position:relative}.testimonial-card__author{align-items:center;gap:var(--space-md);display:flex}.testimonial-card__avatar{border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--color-accent);width:48px;height:48px}.testimonial-card__name{font-family:var(--font-heading);font-size:var(--fs-h5);color:var(--color-primary);font-weight:600}.testimonial-card__origin{font-size:var(--fs-caption);color:var(--color-text-light)}.attraction-card{background:var(--color-text-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-base), box-shadow var(--transition-base);flex-direction:column;display:flex;overflow:hidden}.attraction-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.attraction-card__image-wrapper{aspect-ratio:16/9;position:relative;overflow:hidden}.attraction-card__image{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.attraction-card:hover .attraction-card__image{transform:scale(1.06)}.attraction-card__distance{bottom:var(--space-md);right:var(--space-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-text-white);font-size:var(--fs-caption);border-radius:var(--radius-sm);background:#1a1a2ed9;padding:.3em .7em;font-weight:500;position:absolute}.attraction-card__body{padding:var(--space-xl);flex-direction:column;flex:1;display:flex}.attraction-card__name{font-family:var(--font-heading);font-size:var(--fs-h5);color:var(--color-primary);margin-bottom:var(--space-sm);font-weight:600}.attraction-card__description{font-size:var(--fs-body-sm);color:var(--color-text-light);flex:1}.lang-switcher{align-items:center;gap:2px;display:flex}.lang-switcher__btn{font-size:var(--fs-caption);letter-spacing:var(--ls-wide);text-transform:uppercase;color:#ffffff80;cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;align-items:center;padding:.35em .6em;font-weight:500;text-decoration:none;display:inline-flex}.lang-switcher__btn:hover{color:var(--color-text-white)}.lang-switcher__btn--active{color:var(--color-accent);background:#c9a96e1f}.lang-switcher__divider{background:#fff3;width:1px;height:14px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);padding:var(--space-lg);opacity:0;visibility:hidden;transition:opacity var(--transition-base), visibility var(--transition-base);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay--open{opacity:1;visibility:visible}.modal{background:var(--color-text-white);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-xl);transition:transform var(--transition-base);overflow-y:auto;transform:scale(.95)translateY(10px)}.modal-overlay--open .modal{transform:scale(1)translateY(0)}.modal__header{padding:var(--space-xl);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.modal__title{font-family:var(--font-heading);font-size:var(--fs-h4);color:var(--color-primary);font-weight:600}.modal__close{border-radius:var(--radius-full);width:36px;height:36px;color:var(--color-text-light);transition:background var(--transition-fast), color var(--transition-fast);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.modal__close:hover{background:var(--color-bg-alt);color:var(--color-text)}.modal__body{padding:var(--space-xl)}.modal__footer{justify-content:flex-end;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--color-border-light);display:flex}.skeleton{background:linear-gradient(90deg, var(--color-bg-alt) 25%, var(--color-border-light) 50%, var(--color-bg-alt) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-text{height:1em;margin-bottom:var(--space-sm)}.skeleton-text:last-child{width:70%}.skeleton-heading{width:60%;height:1.8em;margin-bottom:var(--space-md)}.skeleton-image{aspect-ratio:16/10;border-radius:var(--radius-lg)}.skeleton-circle{border-radius:var(--radius-full);width:48px;height:48px}.page-loader{background:var(--color-primary);z-index:var(--z-toast);transition:opacity var(--transition-slow);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.page-loader--hidden{opacity:0;pointer-events:none}.page-loader__spinner{border:2px solid #c9a96e33;border-top-color:var(--color-accent);border-radius:var(--radius-full);width:40px;height:40px;animation:.8s linear infinite spin}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(50px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-8px)}}@keyframes scrollLine{0%{opacity:1;transform:scaleY(1)}50%{opacity:.5;transform-origin:top;transform:scaleY(.5)}to{opacity:1;transform:scaleY(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes kenBurns{0%{transform:scale(1)}to{transform:scale(1.1)}}.fade-in{animation:fadeIn var(--transition-slow) ease-out forwards}.fade-in-up{animation:.6s ease-out forwards fadeInUp}.fade-in-left{animation:.6s ease-out forwards fadeInLeft}.fade-in-right{animation:.6s ease-out forwards fadeInRight}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);transform:translateY(30px)}.reveal--visible{opacity:1;transform:translateY(0)}.reveal--left{transform:translate(-30px)}.reveal--left.reveal--visible{transform:translate(0)}.reveal--right{transform:translate(30px)}.reveal--right.reveal--visible{transform:translate(0)}.reveal--scale{transform:scale(.95)}.reveal--scale.reveal--visible{transform:scale(1)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.reveal-delay-5{transition-delay:.5s}@media (min-width:480px){.gallery-grid,.grid-2,.booking-bar{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.container{padding-left:var(--space-xl);padding-right:var(--space-xl)}.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.footer__grid{grid-template-columns:repeat(2,1fr)}.footer__bottom{flex-direction:row;justify-content:space-between}.booking-bar{padding:var(--space-2xl);grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.header__nav{display:block}.header__cta{display:inline-flex}.header__menu-btn{display:none}.grid-3,.grid-4{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-columns:repeat(4,1fr)}.gallery-grid .gallery-item:first-child{grid-area:span 2/span 2}.footer__grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr}.booking-bar{grid-template-columns:repeat(4,1fr) auto;align-items:end}}@media (min-width:1200px){.container{padding-left:var(--space-2xl);padding-right:var(--space-2xl)}.grid-4{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}.hero__scroll-indicator{animation:none}}@media print{.header,.footer,.hero__scroll-indicator,.btn{display:none!important}body{color:#000;background:#fff}}@media (max-width:992px){.header{z-index:9999!important}.mobile-drawer{z-index:9998!important}.mobile-drawer__overlay{z-index:9997!important}.footer__newsletter-form{gap:12px;display:flex;flex-direction:column!important}.footer__newsletter-input,.footer__newsletter-btn{width:100%!important;margin-left:0!important}}
