@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');:root{--green:#174e3c;--dark:#153e32;--gold:#d8b35c;--cream:#f7f5ee;--text:#27352f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:'DM Sans',Arial,sans-serif;line-height:1.6}a{color:inherit}.wrap{max-width:1120px;padding:0 26px;margin:auto}.site-header{background:#fff;position:relative;z-index:2}.header-inner{min-height:92px;display:flex;justify-content:space-between;align-items:center;gap:20px}.header-inner img{display:block;width:245px;height:auto;max-width:100%}.header-contact{font-size:13px;font-weight:700;color:var(--green);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px}.hero{height:min(620px,70vw);min-height:470px;position:relative;color:white;display:flex;align-items:center}.hero-bg,.hero-shade{position:absolute;inset:0}.hero-bg{background:url('assets/fachada.webp') center 53%/cover no-repeat}.hero-shade{background:linear-gradient(90deg,rgba(7,32,25,.84),rgba(7,32,25,.43) 62%,rgba(7,32,25,.12))}.hero-content{position:relative;width:100%;padding-top:48px;padding-bottom:50px}.eyebrow{font-size:11px;letter-spacing:.24em;font-weight:700;color:var(--gold);margin:0 0 13px}.eyebrow.green{color:#94752e}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.15}h1{font-size:clamp(37px,5.2vw,67px);max-width:740px;margin:0}h1 span{display:block;font-size:.59em;margin-top:14px;color:#f0dfb5}h2{font-size:clamp(30px,3.2vw,43px);margin:0 0 20px;color:var(--dark)}.hero-lead{font-size:clamp(15px,1.7vw,19px);max-width:480px;margin:23px 0 29px;color:#f6f6f1}.btn{display:inline-block;text-decoration:none;padding:14px 23px;border-radius:3px;font-weight:700;font-size:14px}.btn-gold{background:var(--gold);color:#24382d}.btn:hover{filter:brightness(1.07)}.intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px;padding-top:78px;padding-bottom:78px}.intro p:not(.eyebrow){max-width:490px;font-size:16px;color:#57645b}.intro img{width:100%;height:290px;object-fit:cover;border-radius:3px}.services{background:var(--cream);padding:65px 0 70px}.services h2{margin-bottom:30px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-grid div{background:#fff;border:1px solid #e9e7dc;min-height:76px;display:flex;align-items:center;gap:14px;padding:14px 17px;font-size:14px;font-weight:600}.service-grid span{font-size:24px;color:#a08039;width:30px;text-align:center;flex-shrink:0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:75px;padding-bottom:75px}.contact p:not(.eyebrow){margin:0 0 10px}.maps{font-size:14px;color:var(--green);font-weight:700;text-underline-offset:4px}.contact-details{display:flex;flex-direction:column;justify-content:center;gap:13px}.contact-details a{text-decoration:none;border-bottom:1px solid #e2e7df;padding-bottom:8px;overflow-wrap:anywhere}.contact-details a:hover{color:#987c39}footer{background:var(--dark);color:#d9e4db;font-size:12px}.footer-inner{display:flex;justify-content:space-between;gap:20px;padding-top:25px;padding-bottom:25px}.wa-float{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));right:22px;width:57px;height:57px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;box-shadow:0 5px 19px #0003;z-index:10}.wa-float svg{width:30px;height:30px}.wa-float:hover{transform:translateY(-2px)}a:focus-visible{outline:3px solid #d9ae47;outline-offset:4px}@media(max-width:750px){.wrap{padding-left:20px;padding-right:20px}.header-inner{min-height:78px}.header-inner img{width:190px}.header-contact{font-size:11px;text-align:right;max-width:115px}.hero{min-height:475px;height:65vh;max-height:610px}.hero-shade{background:linear-gradient(90deg,rgba(7,32,25,.86),rgba(7,32,25,.35))}.intro,.contact{grid-template-columns:1fr;gap:25px;padding-top:54px;padding-bottom:54px}.intro img{height:230px}.services{padding:52px 0}.service-grid{grid-template-columns:repeat(2,1fr)}.contact-details{gap:9px}.footer-inner{flex-direction:column;gap:4px}.wa-float{right:16px;bottom:16px}}@media(max-width:430px){.header-inner img{width:168px}.service-grid{grid-template-columns:1fr}.service-grid div{min-height:58px}.hero{min-height:460px}.hero-content{padding-top:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.wa-float:hover{transform:none}}
/* Aviso institucional discreto: nueva web en desarrollo */
.site-notice{background:#f8f4e8;border-top:1px solid #eee5ce;border-bottom:1px solid #eee5ce;color:#395344}.site-notice-inner{display:flex;align-items:center;justify-content:center;gap:10px;padding-top:10px;padding-bottom:10px}.site-notice p{margin:0;font-size:13px;line-height:1.45;text-align:center}.site-notice strong{font-weight:700}.notice-dot{width:7px;height:7px;border-radius:50%;background:#b99443;flex-shrink:0}@media(max-width:430px){.site-notice p{font-size:12px}.site-notice-inner{gap:8px}}

/* Animaciones sutiles, sin librerías externas */
@media (prefers-reduced-motion: no-preference) {
  .hero-bg { animation: hero-arrive 1.8s ease-out both; }
  .hero .eyebrow, .hero h1, .hero-lead, .hero .btn { animation: hero-rise .75s ease-out both; }
  .hero h1 { animation-delay: .12s; }
  .hero-lead { animation-delay: .24s; }
  .hero .btn { animation-delay: .36s; }
  .btn, .header-contact, .maps, .contact-details a, .service-grid > div, .wa-float { transition: transform .22s ease, box-shadow .22s ease, color .22s ease, background-color .22s ease; }
  .btn:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(0,0,0,.17); }
  .service-grid > div:hover { transform: translateY(-3px); box-shadow: 0 8px 22px rgba(21,62,50,.07); }
  .wa-float:hover { transform: translateY(-3px); box-shadow: 0 9px 23px rgba(0,0,0,.23); }
  .contact-details a:hover { transform: translateX(3px); }
  .reveal-ready { opacity:0; transform:translateY(17px); transition: opacity .65s ease, transform .65s ease; }
  .reveal-ready.reveal-visible { opacity:1; transform:none; }
  @keyframes hero-rise { from { opacity:0; transform:translateY(15px); } to { opacity:1; transform:translateY(0); } }
  @keyframes hero-arrive { from { transform:scale(1.035); } to { transform:scale(1); } }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
}

/* Galería fotográfica en la sección Bienvenidos. */
.hotel-slideshow { position:relative; width:100%; height:290px; overflow:hidden; border-radius:3px; background:#e8e9e3; }
.hotel-slides { position:absolute; inset:0; }
.intro .hotel-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:0; opacity:0; transition:opacity 1.35s ease-in-out; }
.intro .hotel-slide.is-active { opacity:1; }
.hotel-slide-dots { position:absolute; z-index:1; bottom:13px; left:50%; transform:translateX(-50%); display:flex; gap:9px; padding:8px 12px; border-radius:24px; background:rgba(15,34,27,.37); }
.hotel-slide-dots button { cursor:pointer; border:1px solid white; background:transparent; border-radius:50%; width:11px; height:11px; padding:0; }
.hotel-slide-dots button.is-active { background:white; }
.hotel-slide-dots button:focus-visible { outline:3px solid #d8b35c; outline-offset:4px; }
@media(max-width:750px) { .hotel-slideshow { height:230px; } }
@media(prefers-reduced-motion:reduce) { .intro .hotel-slide { transition:none; } }

/* Ajustes solicitados: CTA de WhatsApp, aviso y contactos */
.header-contact{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:5px;padding:10px 15px;font-size:13px;line-height:1.25;white-space:nowrap;box-shadow:0 2px 8px rgba(21,62,50,.1)}
.header-contact:hover{background:var(--dark);color:#fff;transform:translateY(-1px)}
.header-contact svg{height:19px;width:19px;flex:none}
.site-notice-inner{padding-top:13px;padding-bottom:13px;gap:13px}
.site-notice p{font-size:14px;line-height:1.5;letter-spacing:.075em;font-weight:700}
.notice-dot{position:relative;width:9px;height:9px;background:#b99443;box-shadow:0 0 0 0 rgba(185,148,67,.3)}
@media(prefers-reduced-motion:no-preference){.notice-dot{animation:notice-glow 2.8s ease-in-out infinite}@keyframes notice-glow{0%,100%{box-shadow:0 0 0 0 rgba(185,148,67,.32);opacity:.8}50%{box-shadow:0 0 0 6px rgba(185,148,67,0);opacity:1}}}
.contact-details{gap:0}
.contact-details a{display:flex;align-items:center;gap:13px;padding:11px 0;border-bottom:1px solid #e2e7df;min-width:0}
.contact-details .contact-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid #e6e5d8;border-radius:50%;color:var(--green);background:#f7f5ee;flex-shrink:0}
.contact-icon svg{height:18px;width:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-details a:nth-child(2) .contact-icon{background:#e9f7ed;border-color:#d8eadb;color:#168e49}
.contact-details a:nth-child(2) .contact-icon svg{fill:currentColor;stroke:none}
@media(max-width:750px){.header-contact{font-size:11px;max-width:none;padding:9px 10px;gap:6px}.header-contact svg{height:17px;width:17px}.site-notice p{font-size:12px;letter-spacing:.045em}}
@media(max-width:430px){.header-inner img{width:min(40vw,168px)}.header-contact{font-size:10px;padding:9px 8px}.site-notice p{font-size:11px}.site-notice-inner{gap:10px}}

/* Punto de aviso más visible: coral intenso y halo luminoso */
.notice-dot{width:11px;height:11px;background:#e34c35;box-shadow:0 0 0 2px rgba(227,76,53,.16),0 0 7px rgba(227,76,53,.48)}
@media(prefers-reduced-motion:no-preference){
  .notice-dot{animation:notice-glow-visible 2s ease-in-out infinite}
  @keyframes notice-glow-visible{
    0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(227,76,53,.48),0 0 5px rgba(227,76,53,.45);opacity:1}
    50%{transform:scale(1.16);box-shadow:0 0 0 9px rgba(227,76,53,0),0 0 14px rgba(227,76,53,.75);opacity:1}
  }
}
@media(prefers-reduced-motion:reduce){.notice-dot{animation:none}}

/* Cabecera centrada, sin CTA superior */
.header-inner{justify-content:center;min-height:106px}
.header-inner > a{display:block}
.header-inner img{width:275px;max-width:min(80vw,330px);height:auto}
@media(max-width:750px){.header-inner{min-height:94px}.header-inner img{width:235px}}
@media(max-width:430px){.header-inner{min-height:88px}.header-inner img{width:215px;max-width:75vw}}
/* Iconos vectoriales coherentes, de tamaño uniforme en escritorio y móvil */
.service-grid .service-card{display:flex;align-items:center;gap:15px;min-height:84px}
.service-grid .service-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;color:#a08039}
.service-grid .service-icon svg{display:block;width:32px;height:32px;overflow:visible}
.service-grid .service-label{width:auto;flex:1;font-size:inherit;color:var(--text);text-align:left}
@media(max-width:750px){.service-grid .service-card{min-height:80px;padding:14px 16px}.service-grid .service-icon{flex-basis:44px}}
@media(max-width:430px){.service-grid .service-card{min-height:78px}.service-grid .service-icon svg{width:32px;height:32px}}
