* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root { font-family:Georgia,serif; color:#16273f; background:#f5f9ff; line-height:1.5; --green:#1e3c72; --gold:#2f7cd1; --cream:#eef4fb; --sand:#d7e6f7; } * { box-sizing:border-box; } body { margin:0; } a { color:inherit; } button,input,select,textarea { font:inherit; } .site-header { position:absolute; z-index:2; width:100%; display:flex; justify-content:space-between; align-items:center; padding:1.5rem 7%; color:white; } .brand { font-weight:bold; letter-spacing:1px; text-decoration:none; line-height:.85; display:grid; } .brand span,.eyebrow { color:var(--gold); } .brand small { font:8px monospace; letter-spacing:2px; margin-top:6px; } .nav { display:flex; gap:1.3rem; align-items:center; font:12px Arial,sans-serif; } .nav a { text-decoration:none; } .nav-book { border:1px solid #fff; padding:.5rem .8rem; } .menu-toggle { display:none; } .hero { min-height:43rem; height:100vh; display:flex; align-items:center; padding:8rem 12%; color:white; background:linear-gradient(90deg,#0d2846bb,#0d284622),url('https://images.unsplash.com/photo-1464278533981-50106e6176b1?auto=format&fit=crop&w=2200&q=90') center/cover; } .hero-copy { max-width:47rem; animation:rise .8s both; } .eyebrow { font:10px monospace; letter-spacing:2px; text-transform:uppercase; } h1,h2,h3 { line-height:1.05; } h1 { font-size:clamp(3rem,6vw,5.8rem); margin:.8rem 0; } h2 { font-size:clamp(2.2rem,4vw,4rem); margin:.5rem 0; } h3 { font-size:1.75rem; margin:.5rem 0; }.hero p:not(.eyebrow) { max-width:30rem; font-size:1.15rem; margin:1.5rem 0 2rem; } .button { display:inline-block; border:0; background:var(--green); color:white; padding:.9rem 1.3rem; text-decoration:none; font:600 12px Arial,sans-serif; cursor:pointer; transition:transform .2s; } .button:hover { transform:translateY(-2px); }.hero .button { background:var(--gold); }.ghost { background:transparent!important; border:1px solid #fff; margin-left:.5rem; }.booking-wrap { max-width:82rem; margin:-5rem auto 0; padding:0 1rem; position:relative; }.booking-bar { display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr auto; gap:1rem; align-items:end; background:#fff; padding:1.5rem; box-shadow:0 15px 35px #1e3c7233; }.booking-bar label,form label { display:grid; gap:.4rem; text-transform:uppercase; font:10px monospace; letter-spacing:1px; }.booking-bar input,.booking-bar select,form input,form textarea { border:0; border-bottom:1px solid #bbb; padding:.6rem 0; background:transparent; }.booking-wrap>p { min-height:1.5rem; font:13px Arial,sans-serif; color:var(--green); }.section { max-width:105rem; margin:auto; padding:8rem 8%; }.intro { max-width:32rem; color:#4d6d86; }.stays { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:1.2rem; margin-top:3rem; }.stay { background:var(--cream); }.stay-img{aspect-ratio:4/3;overflow:hidden;width:100%}.stay-img img{width:100%;height:100%;object-fit:cover;display:block}.stay{display:flex;flex-direction:column}.stay>div:not(.stay-img){flex:1}.stay div { padding:1.3rem; }.stay p { color:#4a6b8a; font-size:14px; }.stay b { display:block; margin:1rem 0; color:var(--green); font:12px Arial,sans-serif; }.reserve-room,.filters button { border:0; background:none; color:var(--green); padding:0; cursor:pointer; font:12px Arial,sans-serif; }.services { background:var(--green); padding:7rem 8%; color:#fff; text-align:center; }.amenities { display:grid; grid-template-columns:repeat(3,1fr); max-width:70rem; margin:3rem auto 0; border-top:1px solid #ffffff33; }.amenities span { padding:1.3rem; border-bottom:1px solid #ffffff33; font-size:18px; }.experience { display:grid; grid-template-columns:1.1fr .9fr; min-height:39rem; }.experience>div { background:url('https://images.unsplash.com/photo-1511497584788-876760111969?auto=format&fit=crop&w=1400&q=85') center/cover; }.experience article { padding:10% 12%; background:var(--sand); }.experience article>p:not(.eyebrow) { max-width:28rem; }.experience a { color:var(--green); font:12px Arial,sans-serif; }.tags { margin:2rem 0; font-size:14px; }.filters { display:flex; gap:1rem; margin:2rem 0; }.filters .active { border-bottom:1px solid var(--green); }.gallery { display:grid; grid-template-columns:1.2fr .8fr .8fr; grid-auto-rows:15rem; gap:1rem; }.gallery img { width:100%; height:100%; object-fit:cover; }.gallery img:first-child { grid-row:span 2; }.gallery img.hidden { display:none; }.arrival { display:grid; grid-template-columns:1fr 1fr; background:var(--cream); }.arrival article { padding:12%; }.arrival article p:not(.eyebrow) { max-width:28rem; }.outline { color:var(--green); border:1px solid var(--green); background:transparent; }.map { min-height:22rem; display:grid; place-items:center; color:#fff; font-size:1.7rem; background:linear-gradient(#1e3c7288,#1e3c7288),url('https://images.unsplash.com/photo-1569336415962-a4bd9f69cd83?auto=format&fit=crop&w=1300&q=85') center/cover; }.contact { display:grid; grid-template-columns:1fr 1fr; gap:10%; }.contact article>p:not(.eyebrow) { max-width:28rem; }.contact form { display:grid; gap:1.3rem; } #contactMessage { color:var(--green); font:13px Arial,sans-serif; } footer { background:#0d2846; padding:3rem 8%; color:#ddd; display:flex; justify-content:space-between; align-items:end; font:11px Arial,sans-serif; }.whatsapp,.chat-toggle { position:fixed; z-index:4; right:1rem; width:3rem; height:3rem; border-radius:50%; display:grid; place-items:center; border:0; color:#fff; text-decoration:none; background:#1e88e5; font:bold 11px Arial,sans-serif; }.whatsapp { bottom:1rem; }.chat-toggle { bottom:4.8rem; background:var(--gold); font-size:18px; }.chat-toggle:hover { cursor:pointer; }.chat-panel { visibility:hidden; opacity:0; position:fixed; z-index:5; right:1rem; bottom:8.5rem; width:min(20rem,calc(100vw - 2rem)); padding:1.5rem; background:#fff; box-shadow:0 12px 38px #0d284644; transition:.2s; }.chat-panel.open { visibility:visible; opacity:1; }.chat-panel button { width:100%; border:0; border-top:1px solid #ddd; background:none; text-align:left; padding:.8rem 0; color:var(--green); }.chat-panel #chatClose { width:auto; position:absolute; right:.7rem; top:.5rem; border:0; font-size:20px; }.chat-panel h3 { font-size:1.5rem; } @keyframes rise { from { opacity:0; transform:translateY(1rem); } to { opacity:1; transform:none; } } @media(max-width:800px) { .site-header { padding:1.2rem; }.menu-toggle { display:block; border:0; background:none; color:white; text-transform:uppercase; }.nav { display:none; position:absolute; top:100%; left:0; width:100%; padding:1rem; flex-direction:column; align-items:flex-start; background:var(--green); }.nav.open { display:flex; }.hero { padding:7rem 1.2rem; }.booking-bar { grid-template-columns:1fr 1fr; }.booking-bar div,.booking-bar .button { grid-column:1/-1; }.section { padding:5rem 1.2rem; }.stays,.experience,.arrival,.contact { grid-template-columns:1fr; }.experience>div { min-height:24rem; }.amenities { grid-template-columns:1fr 1fr; }.gallery { grid-template-columns:1fr 1fr; grid-auto-rows:10rem; } footer { display:grid; gap:1rem; }.contact { gap:3rem; } } @media(max-width:460px) { .booking-bar,.amenities { grid-template-columns:1fr; }.gallery { grid-auto-rows:8rem; } }.payment-gateway{padding:3.5rem max(7%,1.2rem) 5rem;background:var(--cream)}.payment-gateway[hidden]{display:none!important}.payment-wrap{max-width:48rem;margin:0 auto}.payment-card{border:1px solid #d7e2ef;border-radius:6px;background:#fff;box-shadow:0 12px 38px rgba(13,40,70,.12);padding:clamp(1.5rem,4vw,2.8rem)}.payment-card>h2{margin-bottom:1.8rem}.payment-summary{display:grid;gap:.6rem}.summary-row{display:flex;justify-content:space-between;align-items:baseline;padding:.6rem 0;border-bottom:1px solid #eef2f7}.summary-row span{color:#5b7286;font:.7rem monospace;letter-spacing:.04em;text-transform:uppercase}.summary-row strong{color:#16273f;font-size:.85rem;text-align:right}.summary-total{border-bottom:0;border-top:1.5px solid #1e3c72;padding-top:.85rem;margin-top:.3rem}.summary-total span{color:#1e3c72;font-size:.78rem;font-weight:700}.summary-total strong{font-family:Georgia,serif;font-size:1.3rem;color:#1e3c72}.payment-divider{height:1px;background:#d7e2ef;margin:2rem 0}.payment-methods{display:grid;gap:.9rem;margin:1.4rem 0 2rem}.payment-method{display:flex;align-items:center;gap:1rem;border:1px solid #dde8f4;border-radius:5px;padding:1rem}.payment-method strong{display:block;font-size:.82rem;margin-bottom:.15rem}.payment-method span{color:#5b7286;font-size:.68rem}.pm-icon{width:2.8rem;height:2.8rem;flex:0 0 auto;border-radius:8px;display:grid;place-items:center;font-family:monospace;font-size:.55rem;font-weight:700;letter-spacing:.05em}.pm-icon.nequi{background:#e3ebf9;color:#1a3b7c}.pm-icon.nequi::after{content:'NEQUI'}.pm-icon.bancolombia{background:#fbe9cc;color:#6b450d}.pm-icon.bancolombia::after{content:'BCOLO'}.pm-icon.efectivo{background:#e0eee2;color:#25613c}.pm-icon.efectivo::after{content:'EFCTV'}.payment-instructions ol{margin:1rem 0 1.8rem;padding-left:1.3rem;color:#5b7286;font-size:.78rem;line-height:2}.payment-whatsapp{display:flex!important;align-items:center;justify-content:center;gap:.5rem;background:#25d366!important;border-color:#25d366!important;font-size:.8rem!important;padding:.9rem 1.5rem!important}.payment-whatsapp:hover{background:#1fb855!important;transform:translateY(-2px)}.payment-note{margin-top:1rem;color:#5b7286;font-size:.7rem;text-align:center}html{scroll-behavior:smooth}.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .3s}.lightbox.open{opacity:1;visibility:visible}.lightbox img{max-width:92vw;max-height:92vh;object-fit:contain;border-radius:4px;box-shadow:0 0 60px rgba(0,0,0,.5);transform:scale(.9);transition:transform .3s}.lightbox.open img{transform:scale(1)}.lightbox-close{position:absolute;top:1.2rem;right:1.5rem;color:#fff;font-size:2.2rem;cursor:pointer;z-index:1;line-height:1;background:none;border:none}.payment-confirm{display:block!important;width:100%;margin-top:.75rem;background:var(--green)!important;font-size:.8rem!important;padding:.9rem 1.5rem!important;text-align:center}.payment-confirm:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.payment-confirm-msg{margin-top:.75rem;font-size:.72rem;text-align:center;color:#25613c;font-weight:600}.payment-confirm-msg.error{color:#b33a3a}.guest-data{padding:0}.guest-data h3{font-size:1.1rem;margin-bottom:1rem}.guest-data label{display:block;margin-bottom:.8rem;font-size:.75rem;color:#5b7286}.guest-data input{display:block;width:100%;margin-top:.3rem;padding:.7rem;border:1px solid #dde8f4;border-radius:4px;font-size:.85rem}.guest-data input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 2px rgba(30,60,114,.15)}
