/* Revisión conjunta de Redworking — movimiento acotado y ficha junto al croquis. */
.location-brand{position:relative;display:inline-block;margin-right:18px;color:#c04221;font-weight:800;white-space:nowrap}
.location-brand-pin{position:absolute;width:18px;height:23px;right:-21px;top:-9px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.location-brand-line{position:absolute;left:0;bottom:-8px;width:100%;height:12px;overflow:visible;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.location-facts{display:grid;gap:18px;margin-block:32px;padding-block:22px;border-block:1px solid rgb(4 84 62 / .22)}
.location-facts .location-hours,.location-facts .location-address{margin:0;font-size:17px;line-height:1.6}
.location-section .location-facts .location-address{font-family:Agrandir,Helvetica,Arial,sans-serif;font-size:21px;line-height:1.5}
@keyframes red-pin-arrive{0%{transform:translateY(-15px) scale(.6);opacity:.2}65%{transform:translateY(1px) scale(1.05);opacity:1}100%{transform:none;opacity:1}}
@keyframes red-address-line{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:no-preference){
  .location-arrived .location-brand-pin{animation:red-pin-arrive 700ms cubic-bezier(.16,1,.3,1) both}
  .location-arrived .location-brand-line path{stroke-dasharray:1;animation:red-address-line 800ms cubic-bezier(.16,1,.3,1) 180ms both}
}

/* El croquis y la ficha forman un único selector. La reserva conserva su propio plano. */
#modalidades .explorer-layout{display:grid;gap:24px;align-items:start}
#modalidades .explorer-plan,#modalidades .explorer-inspector{min-width:0}
#modalidades .explorer-instruction{font-size:16px;margin-bottom:20px}
#modalidades .explorer-scroll{border-radius:16px;scrollbar-color:#5067ae #e9eef9;scrollbar-width:thin}
#modalidades .explorer-caption{font-size:14px;line-height:1.5}
#modalidades .explorer-detail{margin-top:0;grid-template-columns:1fr;border-radius:16px;scroll-margin-top:90px}
#modalidades .explorer-detail>img{height:190px;min-height:0;object-position:center}
#modalidades .explorer-detail>div{padding:22px}
#modalidades .explorer-detail h3{margin:0 0 8px;font-size:27px;line-height:1.2}
#modalidades .explorer-detail p{margin:10px 0;font-size:16px;line-height:1.5}
#modalidades .explorer-detail .explorer-rate-note{font:14px/1.5 Helvetica,Arial,sans-serif}
#modalidades .explorer-price strong{font-size:25px}
#modalidades .explorer-price span{font:14px Helvetica,Arial,sans-serif;white-space:nowrap}
#modalidades .visit-rates{margin:18px 0;gap:12px;font:14px/1.5 Helvetica,Arial,sans-serif}
#modalidades .visit-rates>div{gap:6px}
#modalidades .explorer-detail .button{font-size:16px;min-height:44px;padding:12px 18px}
#modalidades .explorer-detail .text-link{font-size:14px;line-height:1.5;margin-top:12px;min-height:44px;display:flex;align-items:center}
#modalidades .explorer-detail:focus-visible{outline:3px solid #c04221;outline-offset:4px}
@media(min-width:1100px){
  #modalidades .explorer-layout{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:28px}
  #modalidades .explorer-map{min-width:0}
  #modalidades .explorer-pin{font-size:14px;padding:8px;min-width:44px;min-height:44px;border-radius:10px}
  #modalidades .explorer-inspector{position:sticky;top:90px}
}
@media(max-width:1099px){
  #modalidades .explorer-map{min-width:640px}
  #modalidades .explorer-detail{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
  #modalidades .explorer-detail>img{height:100%;min-height:240px}
}
@media(max-width:700px){
  #modalidades .explorer-detail{grid-template-columns:1fr}
  #modalidades .explorer-detail>img{height:190px;min-height:0}
  #modalidades .explorer-pin{font-size:14px;padding:8px;min-height:44px;min-width:44px}
  .location-facts{margin-block:26px;gap:14px}
}

/* Foto y flechas: implementación propia inspirada en Svg follow scroll (Skiper19).
   Referencia: https://skiper-ui.com/v1/skiper19 — Skiper UI / gxuri.
   Se adapta el dibujo progresivo de un trazo a una entrada breve sin dependencias React. */
.consult-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(30px,4vw,54px);align-items:center}
.consult-hero .area-heading h1{font-size:clamp(38px,4.7vw,64px)}
.consult-duo{width:100%;max-width:520px;margin:0 auto 24px}
.duo-photo{overflow:hidden;border-radius:16px;box-shadow:0 18px 30px -22px rgb(4 84 62 / .5)}
.duo-photo>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.duo-caption{position:relative;padding-top:54px}
.duo-arrows{position:absolute;top:-24px;left:0;width:100%;height:90px;overflow:visible;pointer-events:none;stroke:var(--cream);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px rgb(4 84 62 / .35))}
.duo-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;text-align:center}
.duo-names>a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 0;color:var(--cream);font-size:clamp(16px,1.4vw,20px);line-height:1.3;text-underline-offset:5px}
.duo-names>a:hover{text-decoration:underline}
.duo-names>a:focus-visible{outline:2px solid var(--cream);outline-offset:4px;border-radius:4px}
.consult-hero .area-status .area-label{margin-top:24px}
.team-card{scroll-margin-top:36px}
.team-card:target{outline:2px solid var(--red);outline-offset:6px}
@keyframes duo-photo-open{from{clip-path:inset(6% 10% 6% 10% round 16px);transform:translateY(14px)}to{clip-path:inset(0 round 16px);transform:none}}
@keyframes duo-line-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes duo-name-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
  .consult-duo.is-team-visible .duo-photo{animation:duo-photo-open 800ms cubic-bezier(.16,1,.3,1) both}
  .consult-duo.is-team-visible .duo-photo.is-photo-settled{animation:none}
  .consult-duo.is-team-visible .duo-arrow path{stroke-dasharray:1;animation:duo-line-draw 650ms cubic-bezier(.16,1,.3,1) 360ms both}
  .consult-duo.is-team-visible .duo-arrow .duo-arrow-head{animation-delay:800ms;animation-duration:220ms}
  .consult-duo.is-team-visible .duo-arrow-fernanda .duo-arrow-stem{animation-delay:520ms}
  .consult-duo.is-team-visible .duo-arrow-fernanda .duo-arrow-head{animation-delay:960ms}
  .consult-duo.is-team-visible .duo-names>a{animation:duo-name-enter 380ms cubic-bezier(.16,1,.3,1) 650ms both}
  .consult-duo.is-team-visible .duo-names>a:nth-child(2){animation-delay:810ms}
}
@media(max-width:900px){
  .consult-hero{grid-template-columns:1fr}
  .consult-duo{max-width:480px}
  .duo-names>a{font-size:18px}
}
@media(max-width:500px){
  .duo-caption{padding-top:44px}
  .duo-arrows{top:-22px;height:78px}
  .duo-names{gap:10px}
  .duo-names>a{font-size:16px}
}
