.direct-contact{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.direct-contact .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:normal}.direct-contact .btn-outline,.pdf-fallback .btn-outline{color:#193c34;border-color:#927037}.offers-contact .direct-contact .btn-outline{color:#fff;border-color:#c9a962}.offers-contact .direct-contact{flex-shrink:0}.public-languages{display:flex;gap:4px;flex-wrap:wrap}.public-languages a{display:inline-flex;padding:10px;min-height:44px;align-items:center;color:#fff;text-decoration:none}.public-languages [aria-current]{border-bottom:2px solid #c9a962}.offers-header{flex-wrap:wrap}.pdf-language-note{font-size:.9rem;color:#57534b;margin-bottom:18px}.pdf-fallback{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.offers-faq{margin:32px 0}.offers-faq details{border-bottom:1px solid #c9a96266;padding:18px 0}.offers-faq summary{cursor:pointer;font-weight:600;padding:8px 0}.offers-faq p{margin:12px 0;max-width:75ch}.mobile-contact{display:none}.gallery-item{display:block;color:inherit}.gallery-item:focus-visible{outline:3px solid #927037;outline-offset:5px}.photo-dialog{margin:auto;border:0;border-radius:12px;background:#193c34;color:white;max-width:95vw;padding:16px}.photo-dialog::backdrop{background:#000c}.photo-dialog img{display:block;max-width:85vw;max-height:75vh;object-fit:contain}.photo-dialog button{display:block;margin:0 0 12px auto;min-height:44px;min-width:44px;padding:8px 16px;background:#c9a962;border:0;border-radius:6px;cursor:pointer}.photo-dialog p{color:#fff;margin-top:12px}.gallery-filter{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:24px}.gallery-filter button{padding:10px 16px;border:1px solid #927037;border-radius:4px;background:transparent;color:#193c34;min-height:44px;cursor:pointer}.gallery-filter button[aria-pressed=true]{background:#193c34;color:white}.gallery-item[hidden]{display:none}.animate{opacity:1;transform:none}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}a,button{touch-action:manipulation}:focus-visible{outline:3px solid #927037;outline-offset:4px}section[id]{scroll-margin-top:100px}.offers-page .offers-contact h2{margin-bottom:12px}.offers-hero-image{object-position:center}.rooms-info .direct-contact{margin-top:24px}body.dark .direct-contact .btn-outline,body.dark .pdf-fallback .btn-outline,body.dark .gallery-filter button{color:#eee}body.dark .gallery-filter button[aria-pressed=true]{background:#c9a962;color:#193c34}
@media(max-width:760px){.mobile-contact{display:block;position:fixed;bottom:0;left:0;right:0;background:#193c34;z-index:900;padding:8px 16px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -3px 15px #0002}.mobile-contact .direct-contact{display:grid;grid-template-columns:1fr 1fr;margin:0;gap:10px}.mobile-contact .btn{padding:10px;font-size:.85rem}.mobile-contact .btn-outline{color:white;border-color:#c9a962}body{padding-bottom:84px}.cookie-banner{bottom:84px}.offers-contact .direct-contact{width:100%}.hero-buttons .btn{padding:12px 16px;font-size:.9rem}.offers-header{gap:12px}.offers-header .public-languages{margin-left:auto}.offers-page{padding:24px 20px}.gallery-item:first-child{grid-column:auto;grid-row:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.mobile-contact,.public-languages,.direct-contact,.gallery-filter{display:none!important}body{padding-bottom:0}}

.hero-bg{background-image:url('/assets/images/hero-bg-960.webp')}@media(max-width:480px){.hero-bg{background-image:url('/assets/images/hero-bg-480.webp')}}

.section-subtitle{color:#806025}.services .section-subtitle,.contact .section-subtitle,.testimonials .section-subtitle,.offers-contact .section-subtitle,body.dark .section-subtitle{color:#d8bc7e}.offers-hero p{max-width:70ch}.offers-page h1{font-size:clamp(2.4rem,6vw,4rem)}.offers-page h2{font-size:clamp(1.75rem,4vw,2.5rem)}.offers-item p{line-height:1.75}.offers-page>section{margin-bottom:32px}.public-languages a{min-width:44px;justify-content:center}

/* A calm gallery with a small set of topics and consistent image sizes. */
.gallery .section-header{margin-bottom:28px}
.gallery-filter{max-width:1200px;margin:0 auto 28px;gap:8px}
.gallery-filter button{border-radius:24px;padding:10px 20px;font-size:.875rem}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gallery-grid .gallery-item,.gallery-grid .gallery-item:first-child{grid-column:auto;grid-row:auto;aspect-ratio:4/3;border-radius:12px}
.gallery-grid .gallery-item img{width:100%;height:100%;object-fit:cover}
.gallery-overlay{opacity:1;background:linear-gradient(to top,rgba(10,30,24,.85),transparent 55%);padding:20px}
.gallery-overlay span{transform:none;color:#fff;font-size:.9rem}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:540px){.gallery-grid{grid-template-columns:1fr}.gallery-filter{gap:6px;margin-bottom:20px}.gallery-filter button{padding:9px 13px;font-size:.8rem}.gallery-overlay{padding:16px}}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0!important}
