/* TarijaVoy V34 — visual discovery: motion without heavy dependencies */
.tv-zones{padding:clamp(55px,7vw,110px) 0;background:linear-gradient(135deg,#f4f7f0 0%,#eaf1e9 100%);overflow:hidden}
.tv-zones-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(25px,5vw,70px);align-items:center}
.tv-zones-intro h2{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.1;letter-spacing:-.04em;color:#163f34;margin:14px 0 17px}
.tv-zones-intro>p:not(.section-kicker){max-width:490px;line-height:1.7;color:#536a5e;margin-bottom:25px}
.tv-zones-options{display:grid;gap:10px}
.tv-zone-option{appearance:none;width:100%;display:flex;align-items:center;gap:17px;text-align:left;padding:16px 18px;background:rgba(255,255,255,.65);border:1px solid #d6e2d6;border-radius:16px;color:#1a4b3d;cursor:pointer;transition:background .25s,border-color .25s,transform .25s,box-shadow .25s;font:inherit}
.tv-zone-option:hover,.tv-zone-option:focus-visible{background:#fff;border-color:#83a58b;transform:translateX(5px)}
.tv-zone-option.is-active{background:#fff;border-color:#83a58b;box-shadow:0 13px 30px rgba(24,72,51,.09)}
.tv-zone-option:focus-visible,.tv-zone-open:focus-visible{outline:3px solid #c49b5a;outline-offset:3px}
.tv-zone-number{font-weight:800;font-size:.9rem;color:#779184}
.tv-zone-option-name{flex:1;font-weight:800;font-size:1.04rem}
.tv-zone-option-name small{display:block;margin-top:4px;font-size:.81rem;font-weight:500;color:#6b8075}
.tv-zone-option-arrow{font-size:1.2rem;color:#1b6d50}
.tv-zone-visual{min-height:480px;position:relative;isolation:isolate;border-radius:25px;overflow:hidden;box-shadow:0 25px 70px rgba(15,51,38,.17);background:#163f34}
.tv-zone-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 1s cubic-bezier(.2,.7,.2,1),opacity .28s ease;z-index:-2}
.tv-zone-visual:hover .tv-zone-photo{transform:scale(1.11)}
.tv-zone-photo.is-changing{opacity:.45;transform:scale(1.13)}
.tv-zone-visual-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,25,20,.23),transparent 40%,rgba(4,26,20,.9));z-index:-1}
.tv-zone-corner{position:absolute;top:23px;left:25px;letter-spacing:.18em;color:#fff;font-size:.66rem;font-weight:800}
.tv-zone-hotspots{position:absolute;inset:0;pointer-events:none}
.tv-zone-hotspot{position:absolute;width:12px;height:12px;border-radius:50%;background:#f5dcb0;border:2px solid #fff;box-shadow:0 0 0 6px rgba(255,255,255,.17)}
.tv-zone-hotspot::after{content:"";position:absolute;inset:-14px;border:1px solid rgba(255,255,255,.7);border-radius:50%;animation:tv-hotspot-pulse 3.3s ease-out infinite}
.tv-zone-hotspot.one{left:33%;top:36%}.tv-zone-hotspot.two{left:62%;top:27%}.tv-zone-hotspot.two::after{animation-delay:1s}.tv-zone-hotspot.three{left:77%;top:50%}.tv-zone-hotspot.three::after{animation-delay:2s}
@keyframes tv-hotspot-pulse{0%{transform:scale(.65);opacity:.85}70%,100%{transform:scale(1.5);opacity:0}}
.tv-zone-visual-bottom{position:absolute;bottom:0;left:0;right:0;padding:30px;display:flex;gap:16px;align-items:flex-end;justify-content:space-between;color:#fff}
.tv-zone-overline{font-size:.68rem;letter-spacing:.16em;font-weight:850;color:#f5dcb0}
.tv-zone-visual-copy h3{font-size:clamp(1.5rem,2.7vw,2.4rem);letter-spacing:-.03em;line-height:1.12;margin:8px 0 9px;color:#fff}
.tv-zone-visual-copy p{max-width:350px;color:#e9f1e9;line-height:1.45;font-size:.9rem;margin:0}
.tv-zone-open{white-space:nowrap;display:inline-flex;align-items:center;gap:9px;padding:13px 16px;border-radius:50px;background:#fff;color:#164634;text-decoration:none;font-size:.78rem;font-weight:800;transition:background .2s,transform .2s}
.tv-zone-open:hover{background:#e3f3e5;transform:translateY(-3px)}
.tv-reveal-ready [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.tv-reveal-ready [data-reveal].is-visible{opacity:1;transform:none}
@media(max-width:900px){.tv-zones-layout{grid-template-columns:1fr}.tv-zone-visual{min-height:430px}.tv-zones-intro>p:not(.section-kicker){max-width:680px}}
@media(max-width:600px){.tv-zones{padding:55px 0}.tv-zone-visual{min-height:420px}.tv-zone-visual-bottom{display:block;padding:22px}.tv-zone-open{margin-top:20px}.tv-zone-option{padding:13px 14px}.tv-zone-hotspot{width:10px;height:10px}}
@media(prefers-reduced-motion:reduce){.tv-zone-option,.tv-zone-photo,.tv-zone-open,.tv-reveal-ready [data-reveal]{transition:none!important;transform:none!important}.tv-zone-hotspot::after{animation:none!important}}
