:root{
  --navy:#09285f;--navy-deep:#061c42;--blue:#1453a6;--gold:#cfaa58;--gold-soft:#f3e6c7;
  --ink:#13213a;--muted:#647087;--line:#dfe5ee;--surface:#fff;--soft:#f4f7fb;
  --success:#168354;--warning:#a66b09;--danger:#b53c48;--radius:18px;--shadow:0 18px 50px rgba(25,43,78,.10);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--soft);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}body.modal-open{overflow:hidden}button,input,select{font:inherit}button,a{touch-action:manipulation}img{display:block;max-width:100%}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(9,40,95,.08)}.header-inner{width:min(1220px,calc(100% - 36px));margin:auto;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:min(250px,55vw);height:auto}.header-link{color:var(--navy);font-weight:800;text-decoration:none;font-size:.92rem}.header-link:hover{text-decoration:underline}
.hero{position:relative;overflow:hidden;min-height:580px;background:linear-gradient(130deg,var(--navy-deep),var(--navy) 55%,#174f91);display:grid;align-items:center;color:#fff}.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to right,#000,transparent)}.hero-content{position:relative;z-index:2;width:min(1220px,calc(100% - 36px));margin:auto;padding:92px 0 108px}.hero-content h1{max-width:980px;margin:14px 0 22px;font-size:clamp(2.6rem,6vw,5.8rem);line-height:.98;letter-spacing:-.055em;font-weight:850;text-wrap:balance}.hero-copy{max-width:760px;margin:0;color:rgba(255,255,255,.8);font-size:clamp(1.05rem,1.5vw,1.28rem)}.eyebrow{margin:0;color:var(--gold);font-weight:850;letter-spacing:.11em;text-transform:uppercase;font-size:.77rem}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:34px}.hero-note{font-size:.9rem;color:rgba(255,255,255,.7)}.hero-glow{position:absolute;border-radius:50%;filter:blur(5px);opacity:.25}.hero-glow-a{width:380px;height:380px;background:#6ba5ff;right:8%;top:-130px}.hero-glow-b{width:320px;height:320px;background:var(--gold);left:-170px;bottom:-180px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border-radius:11px;border:1px solid transparent;text-decoration:none;font-weight:800;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.55}.button-primary{background:var(--gold);color:#101a2c;box-shadow:0 9px 22px rgba(207,170,88,.23)}.button-primary:hover:not(:disabled){background:#dbb967;box-shadow:0 12px 28px rgba(207,170,88,.3)}.button-dark{background:var(--navy);color:#fff}.button-ghost{background:#fff;border-color:var(--line);color:var(--ink)}
.catalog{width:min(1220px,calc(100% - 36px));margin:auto;padding:82px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}.section-heading h2{margin:8px 0 0;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.035em;line-height:1.05}.section-heading>p{margin:0;color:var(--muted);font-weight:700}.filters{display:grid;grid-template-columns:minmax(230px,2fr) repeat(3,minmax(145px,1fr)) auto auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:28px;box-shadow:0 8px 28px rgba(25,43,78,.05)}.filters label{display:grid;gap:6px}.filters label>span,.field>span{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--muted)}.filters input,.filters select,.field input,.field select,.field textarea{width:100%;height:46px;border:1px solid #d7dee9;border-radius:10px;background:#fff;color:var(--ink);padding:0 12px;outline:none}.filters input:focus,.filters select:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#5f87bd;box-shadow:0 0 0 3px rgba(20,83,166,.12)}
.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.experience-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 7px 26px rgba(25,43,78,.06);transition:transform .2s ease,box-shadow .2s ease}.experience-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.experience-media{position:relative;aspect-ratio:4/3;background:#dce4ef;overflow:hidden}.experience-image-link{display:block;width:100%;height:100%;color:inherit}.experience-image-link:focus-visible{outline:4px solid var(--gold);outline-offset:-4px}.experience-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.experience-card:hover .experience-media img{transform:scale(1.025)}.date-tile{position:absolute;left:16px;top:16px;display:grid;place-items:center;min-width:62px;padding:8px 9px;border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 7px 20px rgba(0,0,0,.15);color:var(--navy)}.date-tile strong{font-size:1.45rem;line-height:1}.date-tile span{font-size:.65rem;font-weight:850;letter-spacing:.08em;margin-top:4px}.availability{position:absolute;right:14px;top:14px;padding:7px 10px;border-radius:999px;font-size:.72rem;font-weight:850;backdrop-filter:blur(8px);box-shadow:0 4px 12px rgba(0,0,0,.12)}.availability-available{background:rgba(230,249,240,.96);color:var(--success)}.availability-low{background:rgba(255,244,216,.96);color:var(--warning)}.availability-soldout{background:rgba(255,231,234,.96);color:var(--danger)}.experience-body{padding:22px;display:flex;flex:1;flex-direction:column}.experience-main{flex:1}.card-kicker{margin:0 0 6px;color:var(--blue);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.experience-body h3{font-size:1.45rem;line-height:1.12;letter-spacing:-.025em;margin:0 0 18px}.experience-meta{display:grid;gap:9px;color:var(--muted);font-size:.9rem}.experience-meta span{display:flex;align-items:flex-start;gap:8px}.experience-meta svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;flex:0 0 auto;margin-top:2px}.card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.price-block{display:grid}.price-block strong{font-size:1.2rem;color:var(--navy)}.price-block span{font-size:.72rem;color:var(--muted)}.card-footer .button{white-space:nowrap}
.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:34px;flex-wrap:wrap}.page-link,.page-number{display:grid;place-items:center;min-width:42px;min-height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:750;text-decoration:none;padding:0 12px}.page-number.current{background:var(--navy);color:#fff;border-color:var(--navy)}.page-link.disabled{pointer-events:none;opacity:.45}.page-ellipsis{padding:0 4px;color:var(--muted)}.empty-state{text-align:center;background:#fff;border:1px dashed #cdd6e3;border-radius:18px;padding:70px 20px}.empty-state h3{font-size:1.5rem;margin:8px 0}.empty-state p{color:var(--muted);margin:0 0 22px}.empty-icon{font-size:2.5rem;color:var(--gold)}
.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d8e0eb;border-top:1px solid #d8e0eb}.trust-strip>div{background:#fff;padding:36px max(24px,calc((100vw - 1220px)/6));display:grid;gap:5px}.trust-strip strong{color:var(--navy);font-size:1.05rem}.trust-strip span{color:var(--muted);font-size:.9rem}
.modal{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;padding:20px}.modal.is-open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(3,15,36,.74);backdrop-filter:blur(6px)}.modal-panel{position:relative;z-index:2;width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:20px;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.modal-close{position:absolute;right:16px;top:14px;border:0;background:#eef2f7;color:var(--ink);width:38px;height:38px;border-radius:50%;font-size:1.45rem;cursor:pointer}.modal-heading h2{font-size:2rem;line-height:1.1;margin:8px 48px 6px 0}.modal-experience{color:var(--muted);margin:0 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field-full{grid-column:1/-1}.field small{color:var(--muted)}.consent{display:flex;gap:10px;color:var(--muted);font-size:.85rem;align-items:flex-start}.consent input{margin-top:4px}.button-submit{width:100%;margin-top:20px;min-height:52px}.form-message{display:none;border-radius:10px;padding:12px 14px;margin-bottom:18px;font-size:.9rem}.form-message.is-error{display:block;background:#ffedf0;color:#9d2534;border:1px solid #f4c7ce}.form-message.is-success{display:block;background:#eaf8f1;color:#126f48;border:1px solid #bee8d3}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:1050px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-search{grid-column:1/-1}.experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-strip>div{padding:30px 24px}}
@media(max-width:700px){.header-inner{min-height:68px}.header-link{display:none}.hero{min-height:auto}.hero-content{padding:72px 0 82px}.hero-content h1{font-size:clamp(2.5rem,13vw,4.3rem)}.catalog{padding:58px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:8px}.filters{grid-template-columns:1fr}.filter-search{grid-column:auto}.experience-grid{grid-template-columns:1fr}.card-footer{align-items:stretch;flex-direction:column}.card-footer .button{width:100%}.trust-strip{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.modal{padding:10px}.modal-panel{padding:24px 18px;max-height:calc(100vh - 20px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.hero[style*="background-image"]{background-size:cover;background-position:center;background-repeat:no-repeat}.hero[style*="background-image"] .hero-glow{display:none}

.form-message.is-warning{background:#fff8df;border-color:#e6c46b;color:#765209}

/* Minilanding individual de experiencia */
.experience-title-link{color:inherit;text-decoration:none}.experience-title-link:hover,.experience-title-link:focus-visible{color:var(--blue);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.experience-detail-page{width:min(1220px,calc(100% - 36px));margin:auto;padding:34px 0 84px}.detail-breadcrumb{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.88rem;margin:0 0 22px}.detail-breadcrumb a{color:var(--navy);font-weight:800;text-decoration:none}.detail-breadcrumb a:hover{text-decoration:underline}.detail-hero-card{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.detail-media{position:relative;min-height:520px;background:#dce4ef}.detail-media>img{width:100%;height:100%;object-fit:cover}.detail-copy{padding:clamp(32px,5vw,64px);display:flex;flex-direction:column;justify-content:center}.detail-copy h1{margin:12px 0 28px;color:var(--navy);font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1;letter-spacing:-.05em;text-wrap:balance}.detail-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-meta-grid>div{display:grid;gap:4px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#f8fafc}.detail-meta-grid span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.detail-meta-grid strong{font-size:.95rem;color:var(--ink)}.detail-meta-wide{grid-column:1/-1}.detail-price-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.detail-price-row .price-block strong{font-size:1.55rem}.detail-capacity{padding:8px 11px;border-radius:999px;background:#edf4ff;color:var(--blue);font-weight:800;font-size:.8rem;text-align:center}.detail-intro{color:var(--muted);margin:23px 0 0}.detail-reservation-cta{align-self:flex-start;margin-top:20px}.detail-reservation-section{scroll-margin-top:100px;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(500px,1.28fr);gap:48px;align-items:start;padding:76px 0 0}.detail-reservation-copy{position:sticky;top:110px}.detail-reservation-copy h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.05;letter-spacing:-.04em;margin:9px 0 16px;color:var(--navy)}.detail-reservation-copy>p:not(.eyebrow){color:var(--muted);font-size:1.02rem}.detail-benefits{display:grid;gap:10px;margin:25px 0 0;padding:0;list-style:none}.detail-benefits li{position:relative;padding-left:27px;color:var(--ink)}.detail-benefits li:before{content:"✓";position:absolute;left:0;top:0;color:var(--success);font-weight:900}.detail-form-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(22px,4vw,38px);box-shadow:0 14px 46px rgba(25,43,78,.09)}.detail-form-card .form-message{margin-top:0}.detail-form-card .button-submit{margin-bottom:0}.detail-soldout{padding:50px 18px}.detail-footer{border-top:1px solid var(--line);padding:30px 18px;text-align:center}.detail-footer a{color:var(--navy);font-weight:800;text-decoration:none}.detail-footer a:hover{text-decoration:underline}.not-found-page{width:min(760px,calc(100% - 36px));margin:80px auto}.not-found-page .empty-state h1{font-size:2rem;margin:8px 0}
@media(max-width:950px){.detail-hero-card{grid-template-columns:1fr}.detail-media{min-height:auto;aspect-ratio:16/10}.detail-reservation-section{grid-template-columns:1fr;gap:28px}.detail-reservation-copy{position:static;max-width:700px}}
@media(max-width:600px){.experience-detail-page{padding-top:20px}.detail-copy{padding:28px 20px}.detail-copy h1{font-size:2rem}.detail-meta-grid{grid-template-columns:1fr}.detail-meta-wide{grid-column:auto}.detail-price-row{align-items:flex-start;flex-direction:column}.detail-reservation-section{padding-top:48px}.detail-form-card{padding:22px 16px}.detail-media{aspect-ratio:4/3}}
