@import"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,700;1,400&family=Playfair+Display:ital,wght@0,700;1,700&display=swap";.hero-section{position:relative;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--color-ivoire);overflow:hidden}.hero-background-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(#1c1c1c66,#1c1c1c99);z-index:2}.hero-content{position:relative;margin-top:10vh;z-index:3}.reservation-widget{position:relative;z-index:3}.hero-subtitle{color:var(--color-or-antique);margin-bottom:1rem}.hero-title{color:var(--color-ivoire);font-size:5rem;margin-bottom:2rem}.hero-signature{font-family:var(--font-title);font-style:italic;font-size:1.8rem;margin-top:1rem}@media (max-width: 900px){.hero-title{font-size:3rem}.hero-signature{font-size:1.4rem}}@media (max-width: 480px){.hero-title{font-size:2.2rem;margin-bottom:1.5rem}.hero-signature{font-size:1.2rem}}.reservation-widget{background:#f7f4eed9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.4);padding:1.5rem 3rem;border-radius:8px;display:flex;gap:2rem;align-items:center;margin-top:5rem;box-shadow:0 20px 40px #0003;color:var(--color-charbon)}.widget-group{display:flex;flex-direction:column;text-align:left}.widget-group label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-or-antique);margin-bottom:.5rem}.widget-group input,.widget-group select{border:none;background:transparent;font-family:var(--font-text);font-size:1rem;color:var(--color-charbon);outline:none;border-bottom:1px solid #ddd;padding-bottom:.5rem;min-width:150px}@media (max-width: 900px){.reservation-widget{flex-direction:column;padding:1.5rem;gap:1.5rem}.widget-group,.widget-group input,.widget-group select,.reservation-widget .btn-primary{width:100%}}.apartments-section{padding:8rem 4rem;background-color:var(--color-ivoire);text-align:center}.section-header{margin-bottom:4rem}.apartments-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:4rem;max-width:1200px;margin:0 auto}.apartment-card{text-align:left;cursor:pointer}.card-image{width:100%;height:400px;object-fit:cover;margin-bottom:1.5rem;transition:transform .5s ease}.image-container{overflow:hidden;margin-bottom:1.5rem}.apartment-card:hover .card-image{transform:scale(1.05)}.apt-title{font-family:var(--font-title);font-size:1.8rem;color:var(--color-charbon);margin-bottom:.5rem}.apt-details{font-family:var(--font-text);font-size:.9rem;color:var(--color-or-antique);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}.apt-desc{color:#555;margin-bottom:1.5rem}@media (max-width: 900px){.apartments-section{padding:4rem 2rem}.apartments-grid{grid-template-columns:1fr;gap:2rem}.card-image{height:300px}}.restaurant-section{padding:8rem 4rem;background-color:var(--color-ivoire);color:var(--color-charbon)}.restaurant-content{display:flex;align-items:center;gap:4rem;max-width:1200px;margin:0 auto}.restaurant-text{flex:1}.restaurant-text h2{font-size:3rem;margin-bottom:2rem}.restaurant-text p{font-size:1.1rem;line-height:1.8;margin-bottom:2.5rem}.restaurant-image-container{flex:1;border-radius:4px;overflow:hidden;box-shadow:0 20px 40px #0000001a}.restaurant-image{width:100%;height:100%;object-fit:cover;display:block}@media (max-width: 900px){.restaurant-content{flex-direction:column;text-align:center}.restaurant-section{padding:4rem 2rem}.restaurant-text h2{font-size:2.2rem}}.lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000e6;z-index:10000;display:flex;justify-content:center;align-items:center}.lightbox-close{position:absolute;top:2rem;right:2rem;background:transparent;border:none;color:#fff;cursor:pointer;z-index:10001;opacity:.7;transition:opacity .3s ease}.lightbox-close:hover{opacity:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#fff;cursor:pointer;opacity:.5;transition:opacity .3s ease;z-index:10001;padding:2rem}.lightbox-nav:hover{opacity:1}.lightbox-nav.prev{left:0}.lightbox-nav.next{right:0}.lightbox-content{max-width:90vw;max-height:90vh;cursor:grab}.lightbox-content:active{cursor:grabbing}.lightbox-content img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:4px}.gallery-section{padding:8rem 4rem;background-color:var(--color-charbon);color:var(--color-ivoire);text-align:center}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:4rem auto 0}.gallery-item{flex:1;overflow:hidden;border-radius:4px}.gallery-item img{width:100%;height:400px;object-fit:cover;transition:transform .6s ease}.gallery-item:hover img{transform:scale(1.05)}@media (max-width: 900px){.gallery-grid{flex-direction:column}.gallery-item img{height:300px}}.services-section{padding:8rem 4rem;background-color:var(--color-charbon);color:var(--color-ivoire);text-align:center}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;max-width:1200px;margin:4rem auto 0}.service-card{padding:2rem;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:8px;transition:transform .4s ease,background .4s ease;display:flex;flex-direction:column;align-items:center}.service-card:hover{transform:translateY(-10px);background:#ffffff14}.service-icon{color:var(--color-or-antique);margin-bottom:1.5rem}.service-icon svg{width:40px;height:40px;stroke-width:1.5}.service-title{font-family:var(--font-title);font-size:1.5rem;margin-bottom:1rem}.service-desc{font-size:.95rem;line-height:1.6;opacity:.8}@media (max-width: 900px){.services-section{padding:4rem 2rem}.services-grid{grid-template-columns:1fr}}.contact-section{padding:8rem 4rem;background-color:var(--color-ivoire);color:var(--color-charbon)}.contact-container{display:flex;max-width:1200px;margin:0 auto;gap:6rem;background:#fff;padding:4rem;border-radius:8px;box-shadow:0 20px 40px #0000000d}.contact-info{flex:1}.contact-info h2{font-size:3rem;margin-bottom:2rem}.contact-desc{font-size:1.1rem;line-height:1.8;margin-bottom:3rem;color:#555}.contact-details{display:flex;flex-direction:column;gap:1.5rem}.contact-item{display:flex;align-items:center;gap:1rem;font-family:var(--font-text);font-weight:500}.contact-icon{color:var(--color-or-antique)}.contact-form-container{flex:1}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input,.form-group textarea{width:100%;padding:1rem 0;border:none;border-bottom:1px solid #ccc;background:transparent;font-family:var(--font-text);font-size:1rem;outline:none;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-or-antique)}.contact-form .btn-primary{align-self:flex-start;margin-top:1rem}.map-container{max-width:1200px;margin:4rem auto 0;padding:0 4rem}@media (max-width: 900px){.contact-container{flex-direction:column;gap:3rem;padding:2rem}.map-container{padding:0 2rem}}.booking-page{padding-top:100px;min-height:100vh;background-image:url(/images/facade.png);background-size:cover;background-position:center;background-attachment:fixed;color:var(--color-charbon);display:flex;justify-content:center;align-items:center;position:relative}.booking-page:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#1c1c1c99;z-index:0}.success-state{background-image:none;background-color:var(--color-charbon);color:var(--color-ivoire)}.success-box{text-align:center;background:#ffffff0d;padding:4rem;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.success-box h2{font-size:2.5rem;margin-bottom:1.5rem}.success-box p{font-size:1.1rem;opacity:.8;margin-bottom:.5rem}.booking-container{display:flex;max-width:1200px;width:100%;margin:4rem;gap:4rem;z-index:1}.booking-form-section{flex:2;background:#f7f4eee6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:3rem;border-radius:12px;box-shadow:0 20px 40px #0000004d;border:1px solid rgba(255,255,255,.5)}.booking-form-section h2{font-size:2.5rem;margin-bottom:2rem}.checkout-form{display:flex;flex-direction:column}.form-row{display:flex;gap:2rem;margin-top:1.5rem}.form-row input{flex:1;padding:1rem 0;border:none;border-bottom:1px solid #ccc;font-family:var(--font-text);font-size:1rem;outline:none;transition:border-color .3s ease;background:transparent}.checkout-form textarea{margin-top:1.5rem;padding:1rem 0;border:none;border-bottom:1px solid #ccc;font-family:var(--font-text);font-size:1rem;outline:none;resize:vertical;background:transparent}.form-row input:focus,.checkout-form textarea:focus,.checkout-form input:focus{border-color:var(--color-or-antique)}.booking-summary-section{flex:1;background:#1c1c1cd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--color-ivoire);padding:3rem;border-radius:12px;box-shadow:0 20px 40px #0000004d;border:1px solid rgba(255,255,255,.1);height:fit-content;position:sticky;top:120px}.booking-summary-section h3{color:var(--color-or-antique);font-size:1.5rem;margin-bottom:2rem}.summary-details{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1)}.summary-item{display:flex;justify-content:space-between;font-size:1rem}.summary-item span{opacity:.8}.summary-total{display:flex;justify-content:space-between;font-size:1.25rem;font-weight:700;color:var(--color-or-antique)}@media (max-width: 900px){.booking-container{flex-direction:column-reverse;margin:2rem;gap:2rem}.form-row{flex-direction:column;gap:0}}.app-header{position:fixed;top:0;width:100%;padding:2rem 4rem;display:flex;justify-content:space-between;align-items:center;z-index:100;transition:all .3s ease;background:transparent}.app-header.scrolled{background-color:#1c1c1cb3;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);padding:1rem 4rem;box-shadow:0 4px 30px #0000004d;border-bottom:1px solid rgba(255,255,255,.05)}.logo-image{height:60px;width:auto;object-fit:contain;transition:all .3s ease}.app-header.scrolled .logo-image{height:50px}.nav-links{display:flex;gap:2rem}.nav-links a{color:var(--color-ivoire);font-weight:400;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;transition:color .3s ease}.nav-links a:hover{color:var(--color-or-antique)}.mobile-toggle{display:none;cursor:pointer}.cta-mobile{display:none}.lang-switcher{position:relative;display:flex;align-items:center}.lang-toggle{display:flex;align-items:center;gap:.5rem;color:var(--color-ivoire);cursor:pointer;font-size:.9rem;transition:color .3s ease}.lang-toggle:hover{color:var(--color-or-antique)}.lang-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--color-charbon);border:1px solid rgba(255,255,255,.1);border-radius:4px;overflow:hidden;display:flex;flex-direction:column}.lang-dropdown div{padding:.8rem 1.5rem;color:var(--color-ivoire);cursor:pointer;transition:background .3s ease}.lang-dropdown div:hover{background:#ffffff1a;color:var(--color-or-antique)}[dir=rtl] .lang-dropdown{right:auto;left:0}[dir=rtl] .logo h1{letter-spacing:0}@media (max-width: 900px){.app-header{padding:1.5rem 2rem}.app-header.scrolled{padding:1rem 2rem}.nav-links{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#1c1c1cf2;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3rem;transform:translateY(-100%);transition:transform .4s ease-in-out;z-index:99}.nav-links.mobile-open{transform:translateY(0)}.nav-links a{font-size:1.5rem}.cta-desktop{display:none}.cta-mobile{display:block;margin-top:2rem}.mobile-toggle{display:block;z-index:101}}.footer{background-color:var(--color-charbon);color:var(--color-ivoire);padding:4rem;text-align:center}.footer-logo{margin-bottom:2rem}.footer-logo img{height:80px;width:auto;object-fit:contain}.footer-links{display:flex;justify-content:center;gap:2rem;margin-bottom:3rem}.footer-links a{text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;transition:color .3s ease}.footer-links a:hover{color:var(--color-or-antique)}.footer-bottom{border-top:1px solid rgba(247,244,238,.1);padding-top:2rem;font-size:.8rem;color:#888}.page-loader{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--color-charbon);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999}.loader-logo{margin-bottom:2rem}.loader-logo img{height:120px;width:auto;object-fit:contain}.loader-line{width:200px;height:2px;background-color:var(--color-or-antique);transform-origin:center}@media (hover: hover) and (pointer: fine){body{cursor:none}a,button,input,select,textarea,.interactive{cursor:none!important}}.custom-cursor-dot{position:fixed;top:0;left:0;width:8px;height:8px;background-color:var(--color-or-antique);border-radius:50%;pointer-events:none;z-index:99999}.custom-cursor-outline{position:fixed;top:0;left:0;width:40px;height:40px;border:1px solid rgba(255,255,255,.5);border-radius:50%;pointer-events:none;z-index:99998;transition:background-color .15s ease,border-color .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}:root{--color-or-antique: #A6803D;--color-charbon: #1C1C1C;--color-ivoire: #F7F4EE;--color-vert-sapin: #2E3B2E;--font-title: "Playfair Display", serif;--font-text: "Montserrat", sans-serif;--bg-primary: var(--color-ivoire);--text-primary: var(--color-charbon);--bg-premium: var(--color-charbon);--text-premium: var(--color-ivoire)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-text);background-color:var(--bg-primary);color:var(--text-primary);font-size:11pt;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);font-weight:700;color:var(--color-charbon)}h1{font-size:40pt}h2{font-size:26pt}h1.or-antique,h2.or-antique{color:var(--color-or-antique)}h1.ivoire,h2.ivoire{color:var(--color-ivoire)}.label{font-family:var(--font-text);font-weight:700;text-transform:uppercase;letter-spacing:.3em;color:var(--color-or-antique);font-size:.85rem}blockquote{font-family:var(--font-title);font-style:italic;font-size:1.5rem;color:var(--color-or-antique);text-align:center;margin:2rem 0}a{color:inherit;text-decoration:none}button{font-family:var(--font-text);cursor:pointer;border:none}.btn-primary{background-color:var(--color-or-antique);color:var(--color-ivoire);padding:1rem 2rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;transition:background-color .3s ease}.btn-primary:hover{background-color:#8c6a30}.btn-secondary{background-color:transparent;color:var(--color-or-antique);border:1px solid var(--color-or-antique);padding:1rem 2rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;transition:all .3s ease}.btn-secondary:hover{background-color:var(--color-or-antique);color:var(--color-ivoire)}
