
/* indice=453*/
html {scroll-behavior: smooth;}
:root {
--color-dark:   #1a1a1a;
--color-cream:  #fff;
--color-gold:   #009999;
--color-mid:    #888;
--font-display: 'Playfair Display', Georgia, serif;
--font-body:    'Jost', sans-serif;
--carousel-transition: 1000ms;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {font-family: var(--font-body);font-weight: 300;overflow-x: hidden;background: var(--color-cream);color: var(--color-dark);}
.site-nav {position: fixed;top: 0; left: 0; right: 0;z-index: 1000;display: flex;align-items: center;justify-content: space-between;padding: 1.25rem 2.5rem;transition: background 0.4s, padding 0.4s, backdrop-filter 0.4s;}
.site-nav.scrolled {background: rgba(26,26,26,0.82);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);padding: 0.75rem 2.5rem;}
.site-nav { padding: 1rem 1.25rem; }
.nav-logo img {height: 52px;width: auto;display: block;}
.nav-tagline {color: rgba(255,255,255,0.65);font-size: 0.7rem;letter-spacing: 0.18em;text-transform: uppercase;font-weight: 400;}
.nav-tagline a {color:#fff;text-decoration: none;}
.nav-tagline a:hover {color:#ccc;}
.nav-tagline { display: none; }
.site-nav.scrolled { padding: 0.75rem 1.25rem; }
.js-email a {color:#fff;text-decoration: none;}
.js-email a:hover {color:#ccc;}
.burger {background: none;border: 1px solid #fff;cursor: pointer;width: 44px;height: 44px;border-radius: 50%;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 5px;padding: 0;transition: border-color 0.3s;box-shadow: 1px 1px 3px #000;}
.burger:hover { border-color: rgba(255,255,255,0.7); }
.burger span {display: block;width: 20px;height: 1.5px;background: #fff;transition: transform 0.35s cubic-bezier(.4,0,.2,1), opacity 0.25s, width 0.3s;box-shadow: 1px 1px 3px #000;}
.burger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.burger.open span:nth-child(2) { opacity: 0; width: 0; }
.burger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
.overlay {position: fixed;inset: 0;background: var(--color-dark);z-index: 999;opacity: 0;pointer-events: none;transition: opacity 0.45s ease;overflow-y: auto;}
.overlay.open {opacity: 1;pointer-events: auto;}
.overlay-grid {min-height: 100vh;display: grid;grid-template-columns: 1.6fr 1fr 1fr;grid-template-rows: auto;gap: 0;padding: 6rem 4rem 3rem;align-items: start;}
.overlay-nav {list-style: none;border-top: 1px solid rgba(255,255,255,0.1);}
ul.overlay-nav {padding-left:0px!important;}
.overlay-nav li {border-bottom: 1px solid rgba(255,255,255,0.08);overflow: hidden;}
.overlay-nav a {display: flex;align-items: center;justify-content: space-between;padding: 1.1rem 0;color: #fff;text-decoration: none;font-size: clamp(1.1rem, 2.0vw, 1.7rem);letter-spacing: 0.05em;transition: color 0.25s, padding-left 0.25s;text-transform: uppercase;}
.overlay-nav a:hover {color: var(--color-gold);padding-left: 0.5rem;}
.nav-num {font-family: var(--font-body);font-size: 0.68rem;color: rgba(255,255,255,0.3);letter-spacing: 0.1em;margin-right: 1rem;font-weight: 400;}
.nav-arrow { font-size: 1rem; color: rgba(255,255,255,0.3); }
.overlay-secondary {padding-left: 3rem;}
.overlay-secondary .col-label {font-size: 0.65rem;letter-spacing: 0.2em;text-transform: uppercase;color: rgba(255,255,255,0.3);margin-bottom: 1.2rem;font-weight: 500;}
.overlay-secondary a {display: block;color: rgba(255,255,255,0.55);text-decoration: none;font-size: 0.9rem;padding: 0.35rem 0;transition: color 0.2s;}
.overlay-secondary a:hover { color: #fff; }
.overlay-contact {padding-left: 2rem;}
.overlay-contact .col-label {font-size: 0.65rem;letter-spacing: 0.2em;text-transform: uppercase;color: rgba(255,255,255,0.3);margin-bottom: 1.2rem;margin-top: 1.5rem;font-weight: 500;}
.overlay-contact .col-label:first-child { margin-top: 0; }
.cta-reserva {display: inline-block;color: var(--color-gold);text-decoration: none;font-weight: 500;font-size: 0.95rem;border-bottom: 1px solid var(--color-gold);padding-bottom: 2px;transition: opacity 0.2s;}
.cta-reserva:hover { opacity: 0.75; }
.overlay-contact p {color: rgba(255,255,255,0.5);font-size: 0.88rem;line-height: 1.9;}
.social-row {display: flex;gap: 1.5rem;margin-top: 1.2rem;}
.social-row a {color: rgba(255,255,255,0.4);text-decoration: none;font-size: 0.72rem;letter-spacing: 0.12em;text-transform: uppercase;transition: color 0.2s;}
.social-row a:hover { color: #fff; }
.site-footer {background: #111;color: rgba(255,255,255,0.55);font-size: 0.88rem;}
.footer-top {display: grid;grid-template-columns: 1.8fr 1fr 1fr 1.4fr;gap: 3rem;padding: 4rem 6rem;border-bottom: 1px solid rgba(255,255,255,0.08);}
.footer-logo {height: 48px;width: auto;display: block;margin-bottom: 1rem;filter: brightness(0) invert(1);opacity: 0.7;}
.footer-tagline {font-size: 0.82rem;line-height: 1.7;color: rgba(255,255,255,0.35);margin-bottom: 1.4rem;}
.footer-tagline a {color:#fff;text-decoration: none;}
.footer-tagline a:hover {color:#ccc;}
.footer-social {display: flex;gap: 0.75rem;}
.footer-social a {display: inline-flex;align-items: center;justify-content: center;width: 34px;height: 34px;border: 1px solid rgba(255,255,255,0.15);border-radius: 50%;color: rgba(255,255,255,0.45);text-decoration: none;
font-size: 0.7rem;font-weight: 500;letter-spacing: 0;transition: border-color 0.2s, color 0.2s;}
.footer-social a:hover { border-color: var(--color-gold); color: var(--color-gold); }
.footer-col-title {font-size: 1rem;letter-spacing: 0.22em;text-transform: uppercase;color: #fff;margin-bottom: 1.2rem;font-weight: 500;}
.footer-col ul {list-style: none;padding: 0; margin: 0;}
.footer-col ul li + li { margin-top: 0.5rem; }
.footer-col a {color: rgba(255,255,255,0.5);text-decoration: none;transition: color 0.2s;}
.footer-col a:hover { color: #fff; }
.footer-col--contact address {font-style: normal;display: flex;flex-direction: column;gap: 0.6rem;margin-bottom: 1.4rem;}
.footer-col--contact address a {color: rgba(255,255,255,0.5);text-decoration: none;transition: color 0.2s;}
.footer-col--contact address a:hover { color: #fff; }
.footer-cta {display: inline-block;color: var(--color-gold);text-decoration: none;font-size: 0.8rem;font-weight: 500;letter-spacing: 0.08em;border-bottom: 1px solid var(--color-gold);padding-bottom: 2px;transition: opacity 0.2s;}
.footer-cta:hover { opacity: 0.7; }
.footer-bottom {display: flex;align-items: center;justify-content: space-between;padding: 1.25rem 6rem;font-size: 0.75rem;color: #fff;}
.footer-legal {display: flex;gap: 1.5rem;}
.footer-legal a {color: #fff;text-decoration: none;transition: color 0.2s;}
.footer-legal a:hover { color: rgba(255,255,255,0.6); }
@media (max-width: 768px) {
/* Footer móvil */
.footer-top {grid-template-columns: 1fr;padding: 2.5rem 1.5rem;gap: 2rem;}
.footer-bottom {flex-direction: column;gap: 0.75rem;text-align: center;padding: 1.25rem 1.5rem;}
.footer-legal { flex-wrap: wrap; justify-content: center; gap: 1rem; }
/* Overlay */
.overlay-grid {grid-template-columns: 1fr;padding: 5rem 1.5rem 2rem;gap: 2.5rem;}
.overlay-secondary { padding-left: 0; }
.overlay-contact   { padding-left: 0; }
.overlay-nav a { font-size: 1.0rem; }
}
/* indice=454*/
#heroCarousel {height: 100vh;--bs-carousel-transition-duration: var(--carousel-transition);}
#heroCarousel.carousel-fade .carousel-item {transition: opacity var(--carousel-transition) ease-in-out !important;}
#heroCarousel .carousel-inner,
#heroCarousel .carousel-item {height: 100%;}
#heroCarousel .carousel-item img {width: 100%;height: 100%;object-fit: cover;object-position: center;}
#heroCarousel .carousel-indicators [data-bs-target] {width: 15px;height: 15px;border-radius: 50%;opacity: 0.4;}
#heroCarousel .carousel-indicators .active { opacity: 1; }
#separador {height:30px;}
.block-nosotros .col-text p:not(.eyebrow) {max-height: 300px;overflow-y: auto;opacity: 0.6;scroll-behavior: smooth;scrollbar-width: none;scrollbar-color: #333 transparent;padding-right: 1.3rem;}
.text-scroll-wrapper {display: flex;align-items: flex-start;gap: 1rem;}
.text-scroll-wrapper p {flex: 1;max-height: 160px;overflow-y: hidden;scroll-behavior: smooth;opacity: 0.6;padding-right: 0;}
.scroll-slider {-webkit-appearance: slider-vertical;appearance: slider-vertical;writing-mode: vertical-lr;direction: rtl;width: 4px;cursor: pointer;flex-shrink: 0;background: transparent;padding: 0;}
.scroll-slider::-webkit-slider-runnable-track {width: 4px;background: #e0d9cc;border-radius: 4px;border: none;}
.scroll-slider::-webkit-slider-thumb {-webkit-appearance: none;appearance: none;width: 16px;height: 16px;border-radius: 50%;background: var(--color-gold);border: 2px solid #fff;box-shadow: 0 1px 4px rgba(0,0,0,0.18);cursor: grab;
margin-left: -6px;transition: transform 0.15s, background 0.15s;}
.scroll-slider::-webkit-slider-thumb:hover {transform: scale(1.2);background: var(--color-dark);}
.scroll-slider::-webkit-slider-thumb:active {cursor: grabbing;transform: scale(1.1);}
.scroll-slider::-moz-range-track {width: 4px;background: #e0d9cc;border-radius: 4px;border: none;}
.scroll-slider::-moz-range-thumb {width: 16px;height: 16px;border-radius: 50%;background: var(--color-gold);border: 2px solid #fff;box-shadow: 0 1px 4px rgba(0,0,0,0.18);cursor: grab;transition: transform 0.15s, background 0.15s;}
.scroll-slider::-moz-range-thumb:hover {transform: scale(1.2);background: var(--color-dark);}
.block-nosotros {display: flex;min-height: 100vh;align-items: stretch;}
.block-nosotros .col-text {width: 50%;background: var(--color-cream);display: flex;flex-direction: column;justify-content: center;padding: 5rem 5rem 5rem 6rem;}
.block-nosotros .col-text .eyebrow {font-size: 0.68rem;letter-spacing: 0.22em;text-transform: uppercase;color: var(--color-gold);font-weight: 500;margin-bottom: 1.2rem;}
.block-nosotros .col-text h2 {font-family: var(--font-display);font-size: clamp(2rem, 3.2vw, 3rem);font-weight: 700;line-height: 1.15;margin-bottom: 1.8rem;color: var(--color-dark);}
.block-nosotros .col-text p {color: #000;line-height: 1.85;font-size: 0.95rem;margin-bottom: 1rem;max-width: 480px;}
.btn-link-gold {display: inline-flex;align-items: center;gap: 0.5rem;margin-top: 1.5rem;color: var(--color-dark);text-decoration: none;font-size: 0.8rem;font-weight: 500;letter-spacing: 0.12em;text-transform: uppercase;border-bottom: 1px solid var(--color-dark);padding-bottom: 3px;transition: color 0.25s, border-color 0.25s;}
.btn-link-gold:hover { color: var(--color-gold); border-color: var(--color-gold); }
.block-nosotros .col-img {width: 50%;overflow: hidden;position: relative;}
.block-nosotros .col-img img {width: 100%;height: 100%;object-fit: cover;object-position: center;display: block;transition: transform 0.6s ease;}
.block-nosotros .col-img:hover img { transform: scale(1.03); }
.block-equipo {display: flex;min-height: 100vh;align-items: stretch;}
.block-equipo .col-slider {width: 50%;overflow: hidden;position: relative;}
#equipoCarousel {height: 100%;--bs-carousel-transition-duration: var(--carousel-transition);}
#equipoCarousel.carousel-fade .carousel-item {transition: opacity var(--carousel-transition) ease-in-out !important;}
#equipoCarousel .carousel-inner,
#equipoCarousel .carousel-item {height: 100%;}
#equipoCarousel .carousel-item img {width: 100%;height: 100%;object-fit: cover;object-position: center;display: block;}
#equipoCarousel .carousel-indicators [data-bs-target] {width: 15px;height: 15px;border-radius: 50%;opacity: 0.4;}
#equipoCarousel .carousel-indicators .active { opacity: 1; }
.block-equipo .col-text {width: 50%;background: #fff;color: #333;display: flex;flex-direction: column;justify-content: center;padding: 5rem 6rem 5rem 5rem;}
.block-equipo .col-text .eyebrow {font-size: 0.68rem;letter-spacing: 0.22em;text-transform: uppercase;color: var(--color-gold);font-weight: 500;margin-bottom: 1.2rem;}
.block-equipo .col-text h2 {font-family: var(--font-display);font-size: clamp(2rem, 3.2vw, 3rem);font-weight: 700;line-height: 1.15;margin-bottom: 1.8rem;color: #111;}
.block-equipo .col-text p {color: #666;line-height: 1.85;font-size: 0.95rem;margin-bottom: 1rem;max-width: 480px;}
.btn-link-light {display: inline-flex;align-items: center;gap: 0.5rem;margin-top: 1.5rem;color: #fff;text-decoration: none;font-size: 0.8rem;font-weight: 500;letter-spacing: 0.12em;text-transform: uppercase;border-bottom: 1px solid rgba(255,255,255,0.4);padding-bottom: 3px;transition: color 0.25s, border-color 0.25s;}
.btn-link-light:hover { color: var(--color-gold); border-color: var(--color-gold); }
.site-footer {background: #111;color: rgba(255,255,255,0.55);font-size: 0.88rem;}

@media (max-width: 768px) {
/* Bloque 2 — Nosotros: imagen arriba, texto abajo */
.block-nosotros {
flex-direction: column-reverse; /* col-img va primero en DOM → queda arriba */
min-height: auto;
}
.block-nosotros .col-text {width: 100%;padding: 2.5rem 1.5rem;}
.block-nosotros .col-img {width: 100%;height: 60vw;min-height: 220px;}
/* Bloque 3 — Equipo: imagen arriba, texto abajo */
.block-equipo {flex-direction: column;min-height: auto;}
.block-equipo .col-slider {width: 100%;height: 60vw;min-height: 220px;}
#equipoCarousel { height: 100%; }
.block-equipo .col-text {width: 100%;padding: 2.5rem 1.5rem;}
}