:root {
  --lxg-ink:#1c2949;
  --lxg-ink-deep:#101b33;
  --lxg-brand:#5dba9e;
  --lxg-brand-dark:#2c7861;
  --lxg-mint:#e8f5f0;
  --lxg-accent:#f8b33f;
  --lxg-muted:#5a6478;
  --lxg-line:rgba(28,41,73,.12);
  --lxg-header:72px;
}

body.lxg-global { padding-top:var(--lxg-header)!important; overflow-x:hidden; }
body.lxg-global #topbar,
body.lxg-global > header.header,
body.lxg-global > .header,
body.lxg-global #main-footer { display:none!important; }
body.lxg-nav-open { overflow:hidden!important; }

.lxg-header,.lxg-footer,.lxg-mobile,.lxg-scrim,.lxg-whatsapp,.lxg-skip { box-sizing:border-box; font-family:"Onest",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.lxg-header *,.lxg-footer *,.lxg-mobile *,.lxg-scrim *,.lxg-whatsapp *,.lxg-skip * { box-sizing:border-box; }
.lxg-header img,.lxg-footer img,.lxg-mobile img { display:block; max-width:100%; }
.lxg-header button,.lxg-mobile button { font:inherit; cursor:pointer; }
.lxg-header a,.lxg-footer a,.lxg-mobile a,.lxg-whatsapp { text-decoration:none; }
.lxg-header ul,.lxg-footer ul,.lxg-mobile ul { list-style:none; margin:0; padding:0; }
.lxg-header :focus-visible,.lxg-footer :focus-visible,.lxg-mobile :focus-visible,.lxg-whatsapp:focus-visible { outline:3px solid var(--lxg-brand-dark); outline-offset:3px; border-radius:7px; }
.lxg-sr { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; border:0!important; }
.lxg-container { width:min(1440px,calc(100% - clamp(32px,7vw,80px))); margin-inline:auto; }
.lxg-skip { position:fixed; top:8px; left:8px; z-index:10050; transform:translateY(-160%); padding:11px 18px; border-radius:999px; background:var(--lxg-ink); color:#fff; font-weight:800; }
.lxg-skip:focus { transform:none; }

/* Header */
.lxg-header { position:fixed; inset:0 0 auto; z-index:9990; color:var(--lxg-ink); transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.lxg-header.is-hidden { transform:translateY(-100%); }
.lxg-bar { position:relative; z-index:2; background:rgba(255,255,255,.94); border-bottom:1px solid rgba(28,41,73,.07); backdrop-filter:blur(14px) saturate(150%); box-shadow:0 8px 28px -26px rgba(16,27,51,.6); }
.lxg-header.is-stuck .lxg-bar,.lxg-header.is-open .lxg-bar { background:#fff; box-shadow:0 10px 34px -25px rgba(16,27,51,.55); }
.lxg-row { height:var(--lxg-header); display:flex; align-items:center; gap:clamp(18px,2.4vw,40px); }
.lxg-brand { display:inline-flex; align-items:center; flex:none; }
.lxg-brand img { width:auto; height:40px; }
.lxg-nav { display:flex; align-items:center; gap:2px; }
.lxg-nav-item { position:relative; display:flex; align-items:center; }
.lxg-nav > a,.lxg-nav > button,.lxg-nav-item > button { position:relative; display:inline-flex; align-items:center; gap:5px; min-height:44px; padding:9px 9px; border:0; background:transparent; color:var(--lxg-ink); font-size:14px; font-weight:600; white-space:nowrap; }
.lxg-nav > a::after,.lxg-nav > button::after,.lxg-nav-item > button::after { content:""; position:absolute; left:9px; right:9px; bottom:5px; height:2px; border-radius:2px; background:var(--lxg-brand); transform:scaleX(0); transition:transform .22s ease; }
.lxg-nav > a:hover,.lxg-nav > button:hover,.lxg-nav-item > button:hover,.lxg-nav button[aria-expanded="true"] { color:var(--lxg-brand-dark); }
.lxg-nav > a:hover::after,.lxg-nav > button:hover::after,.lxg-nav-item > button:hover::after,.lxg-nav button[aria-expanded="true"]::after { transform:scaleX(1); }
.lxg-chevron { width:14px; height:14px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; opacity:.62; transition:transform .22s ease,opacity .18s ease; }
.lxg-nav button:hover .lxg-chevron,.lxg-nav button[aria-expanded="true"] .lxg-chevron { opacity:1; }
.lxg-nav button[aria-expanded="true"] .lxg-chevron { transform:rotate(180deg); }
.lxg-actions { margin-left:auto; display:flex; align-items:center; gap:9px; flex:none; }
.lxg-search { position:relative; width:clamp(220px,20vw,300px); height:44px; }
.lxg-search-field { width:100%; height:44px; display:flex; align-items:center; gap:10px; padding:0 8px 0 16px; border-radius:999px; background:#f2f5f4; box-shadow:inset 0 0 0 1px transparent; transition:width .25s ease,background-color .18s ease,box-shadow .18s ease; }
.lxg-search-field:focus-within { background:#fff; box-shadow:inset 0 0 0 1.5px var(--lxg-brand),0 10px 24px -16px rgba(16,27,51,.4); }
.lxg-search-field svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; flex:none; color:var(--lxg-muted); }
.lxg-search-field input { min-width:0; width:100%; height:100%; padding:0; border:0!important; outline:0!important; background:transparent!important; box-shadow:none!important; color:var(--lxg-ink); font:500 13px/1.2 inherit; }
.lxg-search-field input::placeholder { color:var(--lxg-muted); }
.lxg-search-field input::-webkit-search-cancel-button { -webkit-appearance:none; }
.lxg-search-kbd { width:26px; height:26px; display:grid; place-items:center; flex:none; border-radius:8px; border:0; background:#fff; box-shadow:0 0 0 1px var(--lxg-line); color:var(--lxg-muted); font:600 12px/1 "Onest",sans-serif; }
.lxg-search-field:focus-within .lxg-search-kbd { display:none; }
.lxg-search-panel { position:absolute; top:calc(100% + 10px); right:0; z-index:35; width:max(100%,360px); max-height:min(70vh,460px); overflow-y:auto; padding:8px; border-radius:20px; background:#fff; box-shadow:0 0 0 1px var(--lxg-line),0 30px 60px -30px rgba(16,27,51,.45); animation:lxgDrop .2s ease both; }
.lxg-search-panel[hidden] { display:none; }
.lxg-search-group { margin:0; padding:10px 12px 6px; color:var(--lxg-brand-dark); font-size:11px; line-height:1.2; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.lxg-search-option { display:flex; align-items:center; gap:12px; min-height:58px; padding:8px 10px; border-radius:14px; color:var(--lxg-ink); font-size:14px; line-height:1.3; font-weight:650; }
.lxg-search-option:hover,.lxg-search-option.is-active { background:#f2f5f4; }
.lxg-search-option img { width:42px; height:42px; flex:none; border-radius:10px; object-fit:cover; }
.lxg-search-option > span:not(.lxg-search-price) { min-width:0; }
.lxg-search-option small { display:block; margin-top:2px; overflow:hidden; color:var(--lxg-muted); font-size:12px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.lxg-search-option mark { padding:0; background:none; color:var(--lxg-brand-dark); }
.lxg-search-price { margin-left:auto; color:var(--lxg-ink); font-size:12px; font-weight:800; white-space:nowrap; }
.lxg-search-empty { margin:0; padding:16px 12px; color:var(--lxg-muted); font-size:14px; line-height:1.5; }
.lxg-search-all { min-height:44px; display:flex; align-items:center; justify-content:center; gap:8px; margin:6px 4px 2px; border-radius:12px; background:var(--lxg-ink); color:#fff; font-size:14px; font-weight:700; }
.lxg-search-all:hover { background:var(--lxg-brand-dark); color:#fff; }
.lxg-book { min-height:44px; display:inline-flex; align-items:center; gap:10px; padding:4px 5px 4px 17px; border-radius:999px; background:var(--lxg-accent); color:var(--lxg-ink); font-size:13px; font-weight:800; white-space:nowrap; }
.lxg-book span { display:grid; place-items:center; width:35px; height:35px; border-radius:50%; background:var(--lxg-ink); color:#fff; font-size:17px; transition:transform .22s ease; }
.lxg-book:hover span { transform:rotate(45deg); }
.lxg-account { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; color:var(--lxg-ink); box-shadow:inset 0 0 0 1.5px rgba(28,41,73,.18); }
.lxg-account svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
.lxg-account:hover { background:var(--lxg-ink); color:#fff; }
.lxg-burger { display:none; width:46px; height:46px; border:0; border-radius:50%; background:var(--lxg-ink); position:relative; }
.lxg-burger i { position:absolute; right:14px; height:2px; border-radius:3px; background:#fff; transition:transform .25s ease,top .25s ease,width .25s ease; }
.lxg-burger i:first-child { top:17px; width:18px; }
.lxg-burger i:last-child { top:27px; width:12px; }
.lxg-burger[aria-expanded="true"] i { top:22px; width:18px; }
.lxg-burger[aria-expanded="true"] i:first-child { transform:rotate(45deg); }
.lxg-burger[aria-expanded="true"] i:last-child { transform:rotate(-45deg); }

/* Desktop menus */
.lxg-mega { position:absolute; top:100%; left:0; right:0; padding-top:8px; }
.lxg-mega[hidden] { display:none; }
.lxg-mega-grid { display:grid; grid-template-columns:1fr 1fr 1fr 320px; gap:28px; padding:28px; background:#fff; border:1px solid var(--lxg-line); border-radius:25px; box-shadow:0 38px 70px -32px rgba(16,27,51,.45); animation:lxgDrop .24s ease both; }
.lxg-mega-grid--tours { grid-template-columns:1.25fr 1fr 1.35fr; }
@keyframes lxgDrop { from { opacity:0; transform:translateY(-7px); } to { opacity:1; transform:none; } }
.lxg-kicker { margin:0 0 11px; padding-bottom:10px; border-bottom:1px solid var(--lxg-line); color:var(--lxg-brand-dark); font-size:11px; line-height:1.2; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.lxg-cardlink,.lxg-textlink { display:flex; align-items:center; gap:11px; min-height:58px; margin:0 -8px; padding:7px 8px; border-radius:13px; color:var(--lxg-ink); font-size:14px; line-height:1.25; }
.lxg-cardlink:hover,.lxg-textlink:hover { background:#f3f8f6; }
.lxg-cardlink img { width:43px; height:43px; border-radius:11px; object-fit:cover; }
.lxg-cardlink b,.lxg-textlink { font-weight:750; }
.lxg-cardlink small,.lxg-textlink small { display:block; margin-top:2px; color:var(--lxg-muted); font-size:11px; font-weight:550; }
.lxg-textlink { padding:7px 8px; }
.lxg-textlink > span { min-width:0; }
.lxg-textlink > span > b { display:block; font-weight:750; }
.lxg-experience-icon,.lxg-duration-icon { width:40px; height:40px; flex:none; padding:9px; border-radius:12px; background:var(--lxg-mint); color:var(--lxg-brand-dark); fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; transition:background-color .18s ease,color .18s ease; }
.lxg-textlink:hover .lxg-experience-icon,.lxg-textlink:hover .lxg-duration-icon { background:var(--lxg-brand); color:var(--lxg-ink); }
.lxg-feature { position:relative; display:block; min-height:230px; overflow:hidden; border-radius:19px; color:#fff; }
.lxg-feature img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; transition:transform .55s ease; }
.lxg-feature:hover img { transform:scale(1.045); }
.lxg-feature::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(12,22,43,.9),transparent 70%); }
.lxg-feature span { position:absolute; z-index:1; left:18px; right:18px; bottom:18px; }
.lxg-feature small,.lxg-feature b { display:block; }
.lxg-feature small { margin-bottom:6px; color:#e7f4f0; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.lxg-feature b { font-size:18px; line-height:1.25; }
.lxg-nav-item .lxg-mega--compact { top:calc(100% + 8px); left:50%; right:auto; width:280px; padding-top:0; transform:translateX(-50%); }
.lxg-compact-menu { display:grid; gap:3px; padding:13px; background:#fff; border:1px solid var(--lxg-line); border-radius:18px; box-shadow:0 28px 58px -28px rgba(16,27,51,.5); animation:lxgDrop .24s ease both; }
.lxg-compact-menu a { display:block; min-height:55px; padding:9px 11px; border-radius:12px; color:var(--lxg-ink); font-size:14px; line-height:1.25; font-weight:750; }
.lxg-compact-menu a:hover { background:#f3f8f6; color:var(--lxg-brand-dark); }
.lxg-compact-menu small { display:block; margin-top:3px; color:var(--lxg-muted); font-size:11px; font-weight:550; }

/* Mobile navigation */
.lxg-scrim { position:fixed; inset:0; z-index:9975; background:rgba(16,27,51,.35); backdrop-filter:blur(3px); opacity:0; visibility:hidden; transition:.25s ease; }
.lxg-scrim.is-open { opacity:1; visibility:visible; }
.lxg-mobile { position:fixed; inset:var(--lxg-header) 0 0; z-index:9980; display:grid; grid-template-rows:minmax(0,1fr) auto; background:#fff; color:var(--lxg-ink); transform:translateY(-12px); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s ease,transform .32s ease,visibility 0s linear .32s; }
.lxg-mobile.is-open { transform:none; opacity:1; visibility:visible; pointer-events:auto; transition:opacity .25s ease,transform .32s ease; }
.lxg-mobile-body { overflow:auto; padding:14px clamp(18px,5vw,38px) 28px; overscroll-behavior:contain; }
.lxg-mobile-body > a,.lxg-mobile-body > button { width:100%; min-height:61px; display:flex; align-items:center; justify-content:space-between; padding:10px 0; border:0; border-bottom:1px solid var(--lxg-line); background:transparent; color:var(--lxg-ink); font-size:clamp(21px,6vw,28px); font-weight:700; text-align:left; }
.lxg-mobile-body > button span { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#edf6f2; font-size:22px; transition:.2s ease; }
.lxg-mobile-body > button[aria-expanded="true"] span { transform:rotate(45deg); background:var(--lxg-ink); color:#fff; }
.lxg-mobile-search { position:relative; display:block; margin-bottom:9px; }
.lxg-mobile-search .lxg-search-field { height:50px; background:#f1f6f4; }
.lxg-mobile-search .lxg-search-field input { font-size:16px; }
.lxg-mobile-search .lxg-search-panel { position:static; width:100%; max-height:46vh; margin-top:8px; box-shadow:0 0 0 1px var(--lxg-line); }
.lxg-mobile-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; padding:13px 0 18px; }
.lxg-mobile-grid[hidden] { display:none; }
.lxg-mobile-grid a { min-height:46px; display:flex; align-items:center; padding:8px 13px; border-radius:12px; background:#f3f8f6; color:var(--lxg-ink); font-size:14px; font-weight:700; }
.lxg-mobile-contact { display:flex; flex-wrap:wrap; gap:8px 18px; padding-top:22px; }
.lxg-mobile-contact a { min-height:44px; display:inline-flex; align-items:center; color:var(--lxg-brand-dark); font-size:14px; font-weight:800; }
.lxg-mobile-foot { display:flex; gap:9px; padding:13px clamp(18px,5vw,38px) calc(13px + env(safe-area-inset-bottom)); border-top:1px solid var(--lxg-line); }
.lxg-mobile-foot a { min-height:48px; flex:1; display:grid; place-items:center; border-radius:999px; background:#edf6f2; color:var(--lxg-ink); font-weight:800; }
.lxg-mobile-foot a:last-child { background:var(--lxg-accent); }

/* Footer */
.lxg-footer { position:relative; z-index:1; padding-top:clamp(54px,7vw,88px); background:var(--lxg-mint); border-top:1px solid rgba(44,120,97,.2); color:var(--lxg-muted); font-size:15px; line-height:1.65; }
.lxg-footer p,.lxg-footer h2 { margin:0; }
.lxg-footer-top { display:flex; flex-wrap:wrap; align-items:center; gap:22px 40px; padding-bottom:clamp(30px,4vw,46px); margin-bottom:clamp(30px,4vw,46px); border-bottom:1px solid var(--lxg-line); }
.lxg-footer-top .lxg-brand img { height:48px; }
.lxg-footer-top > p { flex:1 1 300px; max-width:49ch; }
.lxg-social { display:flex; gap:9px; }
.lxg-social a { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#fff; box-shadow:inset 0 0 0 1px var(--lxg-line); color:var(--lxg-ink); font-size:12px; font-weight:900; text-transform:uppercase; }
.lxg-social a:hover { background:var(--lxg-ink); color:#fff; }
.lxg-footer-grid { display:grid; grid-template-columns:1fr 1fr 1fr 1.45fr; gap:32px; }
.lxg-footer h2 { margin-bottom:17px; color:var(--lxg-ink); font-size:12px; line-height:1.25; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.lxg-footer-grid ul { display:grid; gap:9px; }
.lxg-footer-grid a { min-height:28px; display:inline-flex; align-items:center; color:var(--lxg-muted); }
.lxg-footer-grid a:hover { color:var(--lxg-brand-dark); text-decoration:underline; text-underline-offset:3px; }
.lxg-contact { gap:13px!important; }
.lxg-contact a { color:var(--lxg-ink); font-weight:700; }
.lxg-footer-bottom { display:flex; flex-direction:column; align-items:center; gap:17px; margin-top:clamp(40px,5vw,62px); padding:23px 0; border-top:1px solid var(--lxg-line); text-align:center; font-size:13px; }
.lxg-pay { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.lxg-pay li { min-width:64px; height:40px; display:grid; place-items:center; padding:7px 12px; border-radius:10px; background:#fff; box-shadow:inset 0 0 0 1px var(--lxg-line); }
.lxg-pay img { width:auto; max-width:88px; height:21px; object-fit:contain; }
.lxg-pay img[alt="Yape"] { height:26px; }
.lxg-pay img[alt="PagoEfectivo"] { height:14px; }
.lxg-seals { display:flex; flex-wrap:wrap; justify-content:center; gap:24px clamp(34px,6vw,72px); padding:31px 0; border-top:1px solid rgba(44,120,97,.18); text-align:center; }
.lxg-seals > div { display:grid; justify-items:center; gap:11px; }
.lxg-seals h2 { margin:0; }
.lxg-seals img { width:auto; height:56px; box-sizing:content-box; padding:9px 15px; border-radius:10px; background:#fff; box-shadow:inset 0 0 0 1px var(--lxg-line); object-fit:contain; }
.lxg-legal { display:grid; justify-items:center; gap:7px; padding:27px 0 38px; border-top:1px solid rgba(44,120,97,.18); text-align:center; font-size:12px; line-height:1.7; }
.lxg-legal p { max-width:72ch; }
.lxg-legal a { color:var(--lxg-ink); text-decoration:underline; text-underline-offset:3px; }
.lxg-legal > div { display:flex; flex-wrap:wrap; justify-content:center; gap:7px 22px; margin-top:6px; }
.lxg-legal > div a { min-height:35px; display:inline-flex; align-items:center; font-weight:700; text-decoration:none; }
.lxg-whatsapp { position:fixed; z-index:9960; right:20px; bottom:20px; min-height:52px; display:flex; align-items:center; gap:10px; padding:5px 16px 5px 5px; border-radius:999px; background:#19a95b; color:#fff; box-shadow:0 14px 34px -14px rgba(5,85,43,.62); font:700 13px/1 "Onest",sans-serif; }
.lxg-whatsapp span { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#fff; color:#138348; font-size:11px; font-weight:900; text-transform:uppercase; }

@media (max-width:1240px) {
  .lxg-search { width:44px; }
  .lxg-search .lxg-search-field { position:absolute; top:0; right:0; width:44px; padding:0; justify-content:center; cursor:text; }
  .lxg-search .lxg-search-field input { width:0; flex:0 0 0; opacity:0; pointer-events:none; }
  .lxg-search .lxg-search-kbd { display:none; }
  .lxg-search .lxg-search-field svg { width:19px; height:19px; }
  .lxg-search .lxg-search-field:focus-within { width:300px; padding:0 14px 0 16px; justify-content:flex-start; }
  .lxg-search .lxg-search-field:focus-within input { width:auto; flex:1 1 auto; opacity:1; pointer-events:auto; }
  .lxg-mega-grid { grid-template-columns:1fr 1fr 1fr 270px; gap:20px; }
  .lxg-nav > a,.lxg-nav > button,.lxg-nav-item > button { padding-inline:7px; font-size:13px; }
  .lxg-nav > a::after,.lxg-nav > button::after,.lxg-nav-item > button::after { left:7px; right:7px; }
}
@media (max-width:1080px) {
  :root { --lxg-header:68px; }
  .lxg-nav,.lxg-search,.lxg-account { display:none; }
  .lxg-burger { display:block; }
  .lxg-mega { display:none!important; }
}
@media (max-width:760px) {
  .lxg-container { width:min(100% - 32px,1440px); }
  .lxg-footer-grid { grid-template-columns:1fr 1fr; }
  .lxg-footer-grid > div { padding-bottom:6px; }
}
@media (max-width:480px) {
  .lxg-row { gap:8px; }
  .lxg-brand img { height:30px; }
  .lxg-book { display:none; }
  .lxg-burger { margin-left:auto; width:44px; height:44px; }
  .lxg-footer-grid { grid-template-columns:1fr; }
  .lxg-footer-top { align-items:flex-start; }
  .lxg-footer-top .lxg-brand img { height:42px; }
  .lxg-whatsapp { right:14px; bottom:14px; padding-right:5px; }
  .lxg-whatsapp b { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
}
@media (prefers-reduced-motion:reduce) {
  .lxg-header,.lxg-header *,.lxg-mobile,.lxg-mobile *,.lxg-scrim,.lxg-whatsapp { animation:none!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
}
@media print {
  .lxg-header,.lxg-mobile,.lxg-scrim,.lxg-footer,.lxg-whatsapp,.lxg-skip { display:none!important; }
  body.lxg-global { padding-top:0!important; }
}

body.admin-bar .lxg-header { top:32px; }
body.admin-bar .lxg-mobile { top:calc(var(--lxg-header) + 32px); }
@media (max-width:782px) {
  body.admin-bar .lxg-header { top:46px; }
  body.admin-bar .lxg-mobile { top:calc(var(--lxg-header) + 46px); }
}
