.hero{position:relative;height:720px;overflow:hidden;background:#fff}
.hero .pic{position:absolute;left:0;right:0;top:0;height:690px;clip-path:url(#heroclip);-webkit-clip-path:url(#heroclip)}
.hero .scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-pos,65% center);opacity:0;transition:opacity 1.2s ease}
.hero .scene.on{opacity:1}
.sdots{position:absolute;left:50%;transform:translateX(-50%);bottom:54px;display:flex;gap:8px;z-index:4}
.sdots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.55);padding:0;cursor:pointer}
.sdots button.on{background:#fff;width:22px;border-radius:999px}
.sdots .pz{width:auto;height:auto;background:rgba(20,30,24,.55);color:#fff;font-size:11px;line-height:1;padding:5px 7px;border-radius:999px;margin-left:6px}
.sdots button:focus-visible{outline:2px solid var(--cta)}
@media(prefers-reduced-motion:reduce){
.hero .scene{transition:none}
}
.hero .fade{position:absolute;inset:0;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 90%);mask-image:linear-gradient(180deg,#000 55%,transparent 90%);background:radial-gradient(ellipse 48% 42% at 24% 36%,rgba(255,255,255,.92) 0%,rgba(255,255,255,.55) 55%,rgba(255,255,255,0) 100%),linear-gradient(90deg,#fff 0%,rgba(255,255,255,.95) 26%,rgba(255,255,255,.68) 40%,rgba(255,255,255,.2) 55%,rgba(255,255,255,0) 66%),linear-gradient(180deg,rgba(255,255,255,.85) 0%,rgba(255,255,255,0) 14%)}
.hero .rims{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.lv{position:absolute;pointer-events:none}
.lv-bl{left:-30px;bottom:40px;width:270px}
.lv-r{right:-20px;top:300px;width:200px}
.lv-tl{left:8px;top:90px;width:56px}
.lv-top{left:44%;top:56px;width:30px;transform:rotate(18deg)}
.hero .dots{position:absolute;right:40px;top:30px;width:28px;height:28px;background:radial-gradient(#2E6B4B 1.4px,transparent 1.6px) 0 0/9px 9px;opacity:.7}
.hero .wrap{position:relative;padding-top:72px;height:100%}
.hero .copy{max-width:680px}
.hero h1{font-size:48px;letter-spacing:-.02em;margin-bottom:18px;line-height:1.08}
.hero h1 .g{color:var(--p)}
.hero h1 u{text-decoration:none;background:linear-gradient(transparent 86%,var(--cta) 86% 94%,transparent 94%)}
.hero p{color:var(--t);max-width:430px;margin-bottom:26px;font-size:16px}
.search{position:absolute;left:24px;bottom:170px;width:min(940px,calc(100% - 48px));background:#fff;border-radius:16px;box-shadow:0 12px 34px rgba(31,74,54,.16);display:flex;align-items:center;padding:12px 12px 12px 22px}
.search .f{flex:1;display:flex;align-items:center;gap:10px;padding:0 16px;border-left:1px solid var(--b);position:relative;cursor:pointer;min-width:0}
.search .f:first-child{border:0;padding-left:0;flex:1.35}
.search .fi2 .ico{width:22px;height:22px}
.search .ft{display:flex;flex-direction:column;min-width:0;flex:1}
.search .ft b{font-size:13px}
.search select{appearance:none;-webkit-appearance:none;border:0;background:transparent;font:inherit;font-size:12.5px;color:var(--t2);padding:0;cursor:pointer;width:100%;text-overflow:ellipsis}
.search select:focus-visible{outline:2px solid var(--cta);outline-offset:3px;border-radius:4px}
.search .chev{font-size:11px;color:var(--t2)}
.search .go2{background:var(--p);color:#fff;border-radius:12px;padding:14px 20px;white-space:nowrap}
.search .go2 span{color:var(--a);font-weight:800;margin-left:4px}
.trust{margin:-40px auto 0;position:relative;z-index:3;background:#fff;border-radius:16px;box-shadow:var(--sh);display:grid;grid-template-columns:repeat(4,1fr);padding:22px 28px;gap:18px;max-width:1060px}
.cats a{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500}
.cats a:hover{color:var(--s)}
.tabs{display:inline-flex;background:var(--alt);border-radius:14px;padding:5px;gap:4px;margin-bottom:18px}
.tb2{font:inherit;border:0;background:transparent;padding:10px 20px;border-radius:10px;font-weight:600;font-size:14px;color:var(--t2);cursor:pointer;text-align:left}
.tb2 small{display:block;font-weight:500;font-size:12px;opacity:.8}
.tb2.on{background:#fff;color:var(--p);box-shadow:var(--sh)}
.tb2.on small{color:var(--cta-ink);opacity:1}
.tb2:focus-visible{outline:2px solid var(--cta);outline-offset:2px}
.tp{display:none}
.tp.on{display:block}
.tpg{display:grid;grid-template-columns:1.7fr 1fr;gap:24px;border:1px solid var(--b);border-radius:20px;padding:26px}
.tpc h3{font-size:22px;color:var(--p)}
.tpc>p{color:var(--t2);font-size:15px;margin:6px 0 14px;max-width:560px}
.alt-svg{width:100%;height:auto;display:block;font-family:Jakarta,system-ui,sans-serif}
.route{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.route span{background:var(--alt);color:var(--p);font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.facts div{background:var(--alt);border-radius:12px;padding:10px 12px}
.facts small{display:block;font-size:11px;color:var(--t2)}
.facts b{font-size:15px}
.tps h4{font-size:14px;margin-bottom:10px}
.vr{display:flex;align-items:center;gap:12px;border:1px solid var(--b);border-radius:14px;padding:12px 14px;margin-bottom:10px}
.vr b{font-size:14px;display:block}
.vr small{font-size:12px;color:var(--t2);display:block;line-height:1.35}
.vp{margin-left:auto;font-weight:800;color:var(--cta-ink);font-size:18px;text-align:right;white-space:nowrap}
.vp em{display:block;font-style:normal;font-size:10px;color:var(--t2);font-weight:500}
.go{background:var(--p);color:#fff;font-size:12px;font-weight:600;padding:8px 12px;border-radius:10px;white-space:nowrap}
@media(max-width:700px){
.tabs{display:flex}
.tb2{flex:1;padding:10px 12px;font-size:13px}
.tpg{grid-template-columns:1fr;padding:18px}
.chw{overflow-x:auto;margin:0 -18px;padding:0 18px}
.alt-svg{min-width:600px}
}
.fq{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;align-items:start}
.fq h2{font-size:28px;color:var(--p);margin-bottom:10px}
.fq>div>p{color:var(--t2);margin-bottom:20px;font-size:15px}
.fql details{border-bottom:1px solid var(--b);padding:16px 0}
.fql summary{cursor:pointer;font-weight:600;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.fql summary::-webkit-details-marker{display:none}
.fql summary::after{content:"+";color:var(--s);font-weight:700;font-size:20px;line-height:1}
.fql details[open] summary::after{content:"–"}
.fql details p{color:var(--t2);font-size:15px;margin-top:10px;max-width:640px}
.fql summary:focus-visible{outline:2px solid var(--cta-btn);outline-offset:4px}
@media(max-width:700px){
.fq{grid-template-columns:1fr;gap:14px}
.hero{height:auto}
.hero .scene{height:300px;border-radius:0 0 60% 40%/0 0 46px 30px}
.sdots{left:auto;transform:none;right:18px;bottom:auto;top:272px}
.hero .fade{background:linear-gradient(180deg,rgba(255,255,255,.7) 0%,rgba(255,255,255,0) 22%)}
.hero .rims,.lv-tl,.lv-top{display:none}
.hero .pic{position:relative;height:300px;clip-path:none;-webkit-clip-path:none}
.lv-bl{width:70px;left:10px;top:218px;bottom:auto}
.lv-r{width:64px;top:120px;right:12px}
.hero .wrap{padding:14px 18px 0}
.hero h1{font-size:34px}
.hero p{font-size:15px}
.search{position:static;width:auto;display:grid;grid-template-columns:1fr;gap:0;padding:6px 16px 16px;margin:22px 0 0;box-shadow:var(--sh);border:1px solid var(--b)}
.search .f{border:0;border-bottom:1px solid var(--b);padding:12px 0}
.search .go2{justify-content:center;margin-top:12px}
.trust{grid-template-columns:1fr 1fr;margin:24px 18px 0;padding:18px;gap:14px}
}
.card .in2{display:block}
.card .in2 h3{margin-bottom:6px}
.in2 .fin{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;margin-bottom:8px}
.in2 .row{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
img.ph{display:block;width:100%;height:100%;object-fit:cover}
.bd{display:inline-block;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;margin-right:4px}
.bd.t{background:#E8F0E6;color:#1F4A36}
.bd.m{background:#FDEBD7;color:#A9550A}
.on-ph .bd.t{background:rgba(255,255,255,.9)}
.on-ph .bd.m{background:rgba(253,235,215,.95)}
.bento{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:230px 230px;gap:14px}
.bt{position:relative;border-radius:18px;overflow:hidden;color:#fff}
.bt:first-child{grid-row:1/3}
.bt .ph{position:absolute;inset:0}
.bt .ph::after{display:none}
.bt .tx{position:absolute;left:0;right:0;bottom:0;padding:18px;background:linear-gradient(transparent,rgba(16,32,22,.88))}
.bt h3{font-size:18px}
.bt:first-child h3{font-size:26px}
.bt p{font-size:13px;opacity:.9;margin:4px 0 8px;max-width:420px}
.bt .al{position:absolute;top:14px;right:14px;background:rgba(20,30,24,.7);font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}
@media(max-width:700px){
.bento{grid-template-columns:1fr 1fr;grid-template-rows:260px 170px 170px 170px}
.bt:first-child{grid-column:1/-1;grid-row:auto}
}

/* --- responsive v1.2 --- */
@media(max-width:1024px){.hero .copy{max-width:560px}.hero h1{font-size:42px}.lv-r{display:none}.search{bottom:120px}}
@media(max-width:900px){.tpg{grid-template-columns:minmax(0,1fr)}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:280px 200px 200px}.bento .bt:first-child{grid-column:1/-1;grid-row:auto}.guide{grid-template-columns:1fr 1fr}.guide>div:first-child{grid-column:1/-1}.stats{flex-wrap:wrap;gap:20px}}
@media(max-width:820px){.hero{height:auto}.hero .pic{position:relative;height:340px;clip-path:none;-webkit-clip-path:none}.hero .scene{border-radius:0 0 60% 40%/0 0 46px 30px}.hero .rims,.lv-tl,.lv-top{display:none}.hero .fade{background:linear-gradient(180deg,rgba(255,255,255,.7) 0%,rgba(255,255,255,0) 22%)}.hero .wrap{padding:16px 24px 0}.lv-bl{width:130px;left:-26px;top:190px;bottom:auto}.sdots{left:auto;transform:none;right:18px;bottom:auto;top:308px}.search{position:static;width:auto;display:grid;grid-template-columns:1fr;gap:0;padding:6px 16px 16px;margin:22px 0 0;box-shadow:var(--sh);border:1px solid var(--b)}.search .f{border:0;border-bottom:1px solid var(--b);padding:12px 0}.search .f:first-child{padding:12px 0}.search .go2{justify-content:center;margin-top:12px}.trust{grid-template-columns:1fr 1fr;margin-top:24px}}
@media(max-width:700px){.chw{overflow-x:auto;margin:0 -18px;padding:0 18px}.cats{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.cards{grid-template-columns:1fr}.cats{grid-template-columns:1fr}.hero h1{font-size:30px}}
@media(max-width:900px){.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.fq{grid-template-columns:1fr;gap:14px}.ban{grid-template-columns:1fr}.ban .ph{min-height:220px}}
@media(max-width:700px){.cats{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.cats{grid-template-columns:1fr}}
@media(max-width:1240px){.lv-tl{display:none}}
@media(max-width:820px){.search .f:first-child{border-bottom:1px solid var(--b)}}

/* interactividad v1.4: buscador con checkout, enlace de detalle, tarjetas enlazadas */
.wtrvl-checkout_button *{pointer-events:none}
.search .go2{text-decoration:none}
.hb-view{position:absolute;left:24px;bottom:138px;font-size:13px;font-weight:600;color:#fff;text-decoration:none;text-shadow:0 1px 6px rgba(0,0,0,.45)}
.hb-view:hover{text-decoration:underline}
a.art{text-decoration:none;color:inherit;display:block}
a.art:hover img{transform:scale(1.03)}
.card.hi{outline:3px solid var(--a);outline-offset:3px}
@media(max-width:1024px){.hb-view{bottom:92px}}
@media(max-width:820px){.hb-view{position:static;display:block;color:var(--p);text-shadow:none;margin:10px 0 0}}
html{scroll-behavior:smooth}
/* puntos del slider: zona táctil de 24 px, mismo aspecto */
.sdots{gap:0}
.sdots button:not(.pz){width:24px;height:24px;background:none;position:relative}
.sdots button:not(.pz)::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(255,255,255,.55)}
.sdots button.on:not(.pz){width:32px;background:none}
.sdots button.on:not(.pz)::after{width:22px;border-radius:999px;background:#fff}
.sdots button:not(.pz):focus-visible{outline:2px solid #fff;outline-offset:-2px;border-radius:999px}
.sdots .pz{min-height:24px}

/* responsive v2.6: puntos del slider con área táctil de 44 px y gráfica legible en móvil */
.sdots button:not(.pz){position:relative}
.sdots button:not(.pz)::after{content:"";position:absolute;inset:-14px}
.sdots .pz{min-width:44px;min-height:44px}
@media(max-width:700px){.alt-svg{min-width:760px}}

/* v8.1: filas de final con textos largos (DE) sin desbordar en pantallas muy estrechas */
.vr>div:first-child{min-width:0}
@media (max-width:380px){.vr{flex-wrap:wrap;row-gap:6px}.vr .go{margin-left:auto}}

/* v8.5: zonas táctiles ≥40 px sin cambiar el aspecto */
.sdots button{position:relative}
.sdots button::after{content:"";position:absolute;inset:-14px -6px}
.hb-view{display:inline-block;padding:10px 0}

/* v8.7: aire interno en los desplegables del buscador (el foco no queda pegado al texto); el texto sigue alineado con su etiqueta */
.f select{padding:0 8px;margin:2px 0 0 -8px;border-radius:8px;width:calc(100% + 8px)}
.f select:focus-visible{outline:2px solid var(--acc,#D97757);outline-offset:0}
