/* Sección 04 — red de distribución y programa por invitación */
.rc-program{
  --rp-ink:#222220;
  --rp-red:#e13c45;
  --rp-paper:#f7f5f0;
  --rp-muted:#6b6760;
  color:var(--rp-ink);
  background:var(--rp-paper);
  padding:clamp(76px,9vw,128px) max(27px,6.3vw) clamp(80px,9vw,120px);
  scroll-margin-top:79px;
  overflow:hidden;
}
.rc-program-container{width:min(100%,1270px);margin:0 auto}
.rc-program-eyebrow{
  display:block;
  color:#706a62;
  font:800 10px/1.5 var(--sans);
  letter-spacing:.18em;
  margin-bottom:27px;
}
.rc-program-eyebrow span{color:var(--rp-red)}
.rc-program-intro-grid{display:grid;grid-template-columns:1.25fr .55fr;align-items:end;gap:45px}
.rc-program-intro h2{font:800 clamp(43px,6vw,87px)/1.08 var(--sans);letter-spacing:-.077em;margin:0}
.rc-program-intro h2 em{font:400 .82em/1.12 var(--serif);letter-spacing:-.074em;white-space:nowrap;color:var(--rp-red)}
.rc-program-intro-grid>p{font:400 clamp(13px,1.12vw,16px)/1.87 var(--sans);color:var(--rp-muted);margin:0 0 9px;max-width:460px}
.rc-program-reach{
  display:grid;
  grid-template-columns:minmax(270px,.75fr) minmax(0,1.25fr);
  gap:24px;
  margin-top:clamp(39px,5vw,70px);
  border-top:1px solid #d6d2c9;
  padding-top:24px;
}
.rc-program-reach-copy{padding:22px 16px 18px 0;display:flex;flex-direction:column;align-items:start}
.rc-program-small-label{font:800 10px/1.55 var(--sans);letter-spacing:.13em;color:#77716a}
.rc-program-figure{display:flex;flex-direction:column;gap:3px;margin:clamp(21px,4vw,38px) 0 24px}
.rc-program-figure strong{font:700 clamp(87px,12.5vw,166px)/.81 var(--sans);letter-spacing:-.115em;color:#272622}
.rc-program-figure strong span{font-weight:400;color:var(--rp-red);font-size:.66em;vertical-align:top;position:relative;top:.17em;margin-left:7px}
.rc-program-figure>span{font:700 clamp(13px,1.35vw,17px)/1.45 var(--sans);letter-spacing:-.025em;margin-top:16px}
.rc-program-reach-copy>p{font:400 14px/1.82 var(--sans);color:#55514c;max-width:380px;margin:0 0 22px}
.rc-program-reach-notice{font:400 11px/1.72 var(--sans);color:#807c75;max-width:405px;border-left:2px solid #d4cfc4;padding-left:14px}
.rc-program-map{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:clamp(20px,3vw,30px);
  background:#eae7df;
  border:1px solid #ded9ce;
  overflow:hidden;
}
.rc-program-map-top,.rc-program-map-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;font:800 9px/1.5 var(--sans);letter-spacing:.12em;color:#77726d}
.rc-program-map-top span:first-child{color:#332f2b}

.rc-program-map-bottom{font-size:8px;color:#868078;letter-spacing:.075em}
.rc-program-map-bottom span:last-child{font-size:17px;line-height:1;color:var(--rp-red)}
.rc-program-benefits{border-top:1px solid #d6d2c9;margin-top:clamp(70px,7.5vw,114px);padding-top:26px}
.rc-program-benefits-heading{display:flex;align-items:start;justify-content:space-between;gap:30px;margin-bottom:34px}
.rc-program-benefits-heading h3{margin:0;font:700 clamp(27px,3.4vw,49px)/1.2 var(--sans);letter-spacing:-.06em;text-align:right}
.rc-program-benefits-heading h3 em{font:400 .9em/1.2 var(--serif);color:#786757}
.rc-program-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#d9d5cd;border:1px solid #d9d5cd}
.rc-program-benefit{min-height:215px;background:var(--rp-paper);padding:30px 25px 28px;display:flex;flex-direction:column;align-items:start}
.rc-program-benefit-no{font:800 10px/1.4 var(--sans);color:var(--rp-red);letter-spacing:.13em;margin-bottom:auto}
.rc-program-benefit h4{margin:27px 0 10px;font:700 clamp(19px,1.75vw,25px)/1.23 var(--sans);letter-spacing:-.045em}
.rc-program-benefit p{font:400 12px/1.82 var(--sans);margin:0;color:#68635c}
.rc-program-invitation{
  margin-top:clamp(66px,7.5vw,103px);
  padding:clamp(30px,5vw,66px);
  background:#232321;
  color:#f6f4ef;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  column-gap:clamp(32px,5vw,70px);
  row-gap:36px;
  position:relative;
  overflow:hidden;
}
.rc-program-invitation::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--rp-red)}
.rc-program-exclusive{font:800 10px/1.5 var(--sans);letter-spacing:.15em;color:#e9b8b9}
.rc-program-exclusive>span{font-size:16px;margin-right:7px;color:var(--rp-red)}
.rc-program-invitation-heading h3{font:750 clamp(40px,5vw,70px)/1.08 var(--sans);letter-spacing:-.073em;margin:24px 0}
.rc-program-invitation-heading h3 em{font:400 .94em/1 var(--serif);color:#f17578}
.rc-program-invitation-heading>p{font:400 14px/1.85 var(--sans);color:#d3d0c9;max-width:470px;margin:0}
.rc-program-conditions{align-self:center;display:flex;flex-direction:column}
.rc-program-conditions>div{display:flex;align-items:center;gap:20px;border-bottom:1px solid #4b4946;padding:18px 0}
.rc-program-conditions>div:first-child{border-top:1px solid #4b4946}
.rc-program-conditions span{font:800 10px/1.5 var(--sans);letter-spacing:.12em;color:#f17578}
.rc-program-conditions strong{font:600 14px/1.5 var(--sans);letter-spacing:-.02em}
.rc-program-terms{border-top:1px solid #494744;padding-top:19px;margin:0;grid-column:1/-1;color:#aaa8a2;font:400 11px/1.75 var(--sans)}
/* Elementos que solo se revelan cuando pueden verse */
.rc-program-animate{transition:opacity .82s ease,transform .96s cubic-bezier(.2,.74,.2,1)}
.rc-program-animate.rc-is-pending{opacity:0;transform:translateY(29px)}
.rc-program-animate.rc-is-visible{opacity:1;transform:none}

@media(max-width:1000px){
  .rc-program-intro-grid{grid-template-columns:1fr .68fr;gap:28px}
  .rc-program-reach{grid-template-columns:minmax(245px,.72fr) minmax(0,1.28fr)}
  .rc-program-benefit{padding:26px 20px}
}
@media(max-width:740px){
  .rc-program{padding:75px 20px 83px;scroll-margin-top:67px}
  .rc-program-eyebrow{font-size:9px;margin-bottom:16px}
  .rc-program-intro-grid{grid-template-columns:1fr;gap:20px}
  .rc-program-intro h2{font-size:clamp(39px,9vw,62px)}
  .rc-program-intro h2 em{white-space:normal}
  .rc-program-intro-grid>p{font-size:13px;max-width:510px}
  .rc-program-reach{grid-template-columns:1fr;gap:18px;margin-top:40px;padding-top:20px}
  .rc-program-reach-copy{padding:0 3px}
  .rc-program-figure{margin:18px 0 15px}
  .rc-program-figure strong{font-size:clamp(92px,25vw,135px)}
  .rc-program-figure>span{font-size:14px;margin-top:10px}
  .rc-program-reach-copy>p{margin-bottom:14px;font-size:13px}
  .rc-program-map{padding:18px 13px;min-height:250px}
  .rc-program-map-top,.rc-program-map-bottom{font-size:8px}
  .rc-program-map-bottom{font-size:7px;line-height:1.65}
  .rc-program-benefits{margin-top:64px}
  .rc-program-benefits-heading{display:block;margin-bottom:22px}
  .rc-program-benefits-heading h3{font-size:clamp(29px,6vw,42px);text-align:left;margin-top:15px}
  .rc-program-benefit-grid{grid-template-columns:1fr}
  .rc-program-benefit{min-height:145px;padding:22px 22px}
  .rc-program-benefit-no{margin-bottom:0}
  .rc-program-benefit h4{margin:19px 0 8px}
  .rc-program-invitation{margin-top:62px;padding:32px 24px;grid-template-columns:1fr;row-gap:27px}
  .rc-program-invitation-heading h3{font-size:clamp(41px,8vw,62px);margin:17px 0}
  .rc-program-invitation-heading>p{font-size:13px}
  .rc-program-conditions strong{font-size:13px}
  .rc-program-terms{grid-column:1;font-size:10px}
}
@media(max-width:380px){
  .rc-program{padding-inline:18px}
  .rc-program-invitation{padding:27px 20px}
  .rc-program-conditions>div{gap:15px}
}
@media(prefers-reduced-motion:reduce){
  .rc-program-animate{transition:none!important;transform:none!important;opacity:1!important}

}


/* Edición A + C — dos beneficios protagonistas, tres oportunidades y acceso reservado. */
.rc-program-benefits-heading{align-items:end}
.rc-program-benefits-heading h3{max-width:630px}
.rc-program-benefit-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:1px}
.rc-program-benefit{min-width:0;overflow:hidden}
.rc-program-benefit-hero{
  grid-column:span 3;
  min-height:400px;
  padding:clamp(26px,3vw,42px);
  justify-content:space-between;
  position:relative;
}
.rc-program-benefit-print{background:#252423;color:#f8f6f2}
.rc-program-benefit-network{background:#eae6dd;color:#24221e}
.rc-program-benefit-header{display:flex;justify-content:space-between;align-items:start;width:100%}
.rc-program-benefit-header .rc-program-benefit-no{margin:0}
.rc-program-benefit-arrow{font:400 22px/1 var(--sans);color:var(--rp-red)}
.rc-program-benefit-body{margin-top:auto;max-width:465px;position:relative;z-index:1}
.rc-program-benefit-hero h4{font:700 clamp(28px,2.8vw,39px)/1.15 var(--sans);letter-spacing:-.06em;margin:0 0 13px}
.rc-program-benefit-hero p{font:400 13px/1.83 var(--sans);max-width:445px}
.rc-program-benefit-print p{color:#d2cec8}
.rc-program-benefit-network p{color:#666057}
.rc-program-benefit-count{flex:1;min-height:178px;display:flex;align-items:center;gap:18px}
.rc-program-benefit-count strong{display:block;white-space:nowrap;font:800 clamp(87px,10vw,147px)/.94 var(--sans);letter-spacing:-.12em;color:#262520}
.rc-program-benefit-count strong span{font-size:.55em;font-weight:500;color:var(--rp-red);margin-left:6px;vertical-align:top;position:relative;top:.09em}
.rc-program-benefit-count>span{font:700 clamp(13px,1.36vw,17px)/1.4 var(--sans);letter-spacing:-.04em;max-width:133px}
.rc-program-book-illustration{position:relative;width:200px;height:172px;margin:4px auto 10px;transform:perspective(760px) rotateY(-23deg) rotateZ(-9deg);filter:drop-shadow(10px 16px 12px rgba(0,0,0,.3));transition:transform .45s cubic-bezier(.22,1,.36,1)}
.rc-program-book-face{position:absolute;left:30px;top:0;width:141px;height:170px;border:2px solid #f2eee6;background:#f5f1e7;display:flex;flex-direction:column;justify-content:space-between;padding:17px 13px 17px;z-index:2;box-shadow:inset 8px 0 9px rgba(0,0,0,.08)}
.rc-program-book-face i{height:4px;width:32px;background:var(--rp-red)}
.rc-program-book-face b{font:900 15px/1 var(--sans);letter-spacing:-.075em;color:#292723}
.rc-program-book-face b small{color:var(--rp-red)}
.rc-program-book-face>span{font:700 16px/1.06 var(--sans);letter-spacing:-.05em;color:#292723}
.rc-program-book-spine{position:absolute;left:18px;top:2px;display:block;width:26px;height:168px;background:#a12b33;transform:skewY(10deg);z-index:1}
.rc-program-book-pages{position:absolute;left:170px;top:5px;width:13px;height:161px;background:repeating-linear-gradient(0deg,#cac6bd 0px,#faf9f5 1px,#d2cec7 2px);transform:skewY(8deg);z-index:1}
@media(hover:hover) and (pointer:fine){
  .rc-program-benefit-print:hover .rc-program-book-illustration{transform:perspective(760px) rotateY(-16deg) rotateZ(-6deg) translateY(-5px)}
  .rc-program-benefit-network:hover .rc-program-benefit-count strong{color:#af2b32}
}
.rc-program-benefit-detail{grid-column:span 2;min-height:245px;justify-content:flex-start}
.rc-program-benefit-detail .rc-program-benefit-no{margin-bottom:19px}
.rc-program-benefit-icon{display:block;width:43px;height:43px;color:var(--rp-red);margin:4px 0 10px}
.rc-program-benefit-icon svg{display:block;width:100%;height:100%}
.rc-program-benefit-detail h4{margin:5px 0 10px}
.rc-program-benefit-detail p{margin:0}
.rc-program-benefit-terms{
  max-width:840px;
  margin:19px 0 0 auto;
  color:#807a72;
  font:400 11px/1.8 var(--sans);
  text-align:right;
}
.rc-program-invitation-heading h3{font-size:clamp(34px,4.35vw,59px);max-width:630px;line-height:1.14}
.rc-program-invitation-heading h3 em{display:inline-block;margin-top:9px}
.rc-program-conditions>div{align-items:flex-start}
.rc-program-conditions>div>span{padding-top:2px}
.rc-program-conditions a{display:inline;border-bottom:1px solid #998b86;color:#fff;transition:color .2s,border-color .2s}
.rc-program-conditions a span{font-weight:400;color:#f17578}
.rc-program-conditions a:hover,.rc-program-conditions a:focus-visible{color:#ff9296;border-color:#f17578}
@media(max-width:1000px){
  .rc-program-benefit-count{gap:14px}
  .rc-program-benefit-count strong{font-size:clamp(80px,11vw,124px)}
  .rc-program-benefit-hero{min-height:380px}
  .rc-program-benefit-detail{min-height:255px}
}
@media(max-width:740px){
  .rc-program-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rc-program-benefit-hero{grid-column:span 2;min-height:350px;padding:27px 25px}
  .rc-program-benefit-detail{grid-column:span 2;min-height:177px;padding:22px 25px}
  .rc-program-benefit-detail .rc-program-benefit-no{margin-bottom:6px}
  .rc-program-benefit-icon{width:37px;height:37px;margin:6px 0}
  .rc-program-benefit-detail h4{font-size:23px}
  .rc-program-benefit-count strong{font-size:clamp(92px,19vw,135px)}
  .rc-program-benefit-count>span{font-size:14px}
  .rc-program-benefit-hero h4{font-size:clamp(29px,6vw,37px)}
  .rc-program-book-illustration{margin:8px auto}
  .rc-program-benefit-terms{text-align:left;font-size:10px}
  .rc-program-invitation-heading h3{font-size:clamp(36px,8vw,58px)}
}
@media(max-width:380px){
  .rc-program-benefit-hero{padding:23px 20px}
  .rc-program-benefit-count{gap:7px}
  .rc-program-benefit-count strong{font-size:81px}
  .rc-program-benefit-count>span{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .rc-program-book-illustration{transition:none!important}
  .rc-program-benefit-print:hover .rc-program-book-illustration{transform:perspective(760px) rotateY(-23deg) rotateZ(-9deg)}
}


/* Rutas geográficas sobre la versión vectorial optimizada del mapa aportado. */
.rc-program-map-top{justify-content:flex-end;min-height:16px}
.rc-program-map-canvas{
  position:relative;
  width:100%;
  isolation:isolate;
  margin:clamp(6px,1.6vw,19px) auto 5px;
  background:
    radial-gradient(ellipse at 29% 39%,rgba(231,71,80,.11),transparent 42%),
    repeating-linear-gradient(0deg,transparent,transparent 31px,rgba(109,99,85,.028) 32px),
    repeating-linear-gradient(90deg,transparent,transparent 31px,rgba(109,99,85,.028) 32px);
}
.rc-program-world-base{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1200/610;
  max-width:none;
}
.rc-program-route-overlay{
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}
.rc-program-route-lines .rc-program-route{
  stroke-dasharray:100;
  stroke-dashoffset:0;
  filter:drop-shadow(0 1px 1px rgba(196,41,55,.15));
  transition:stroke-dashoffset 1.65s cubic-bezier(.24,.8,.2,1),opacity .6s ease;
}
.rc-program-reach.rc-is-pending .rc-program-route{stroke-dashoffset:100;opacity:.4}
.rc-program-reach.rc-is-visible .rc-program-route{stroke-dashoffset:0;opacity:1}
.rc-program-route-us{transition-delay:.06s!important}
.rc-program-route-latam{transition-delay:.45s!important}
.rc-program-route-spain{transition-delay:.85s!important}
.rc-program-origin-core,.rc-program-destination-core{
  filter:drop-shadow(0 1px 2px rgba(218,47,60,.38))
}
.rc-program-destination-halo,.rc-program-origin-halo{opacity:.65}
.rc-program-reach.rc-is-visible .rc-program-origin-halo{
  animation:rc-route-halo 3.1s ease-in-out 1s infinite;
}
.rc-program-reach.rc-is-visible .rc-program-destination-halo{
  animation:rc-route-halo 3.2s ease-in-out 1.4s infinite;
}
.rc-program-reach.rc-is-visible .rc-program-destination-halo:nth-child(3){animation-delay:1.85s}
.rc-program-reach.rc-is-visible .rc-program-destination-halo:nth-child(4){animation-delay:2.25s}
@keyframes rc-route-halo{0%,100%{opacity:.28;stroke-width:1.5}50%{opacity:.97;stroke-width:3}}
.rc-program-map-svg-labels{
  opacity:1;
  transition:opacity .8s ease 1.15s;
}
.rc-program-reach.rc-is-pending .rc-program-map-svg-labels{opacity:0}
.rc-program-map-legend{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:9px 17px;
  margin:5px 0 25px;
  padding:13px 0 0;
  border-top:1px solid #d6d0c6;
}
.rc-program-map-legend span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
  color:#534e47;
  font:800 9px/1.5 var(--sans);
  letter-spacing:.07em;
}
.rc-program-map-legend i{
  display:inline-block;
  width:6px;
  height:6px;
  border:1px solid #d7353e;
  border-radius:50%;
  background:#e94651;
}
.rc-program-invitation-heading h3{
  margin:23px 0 0;
  font-size:clamp(43px,5.15vw,72px);
}
@media(max-width:740px){
  .rc-program-map-canvas{margin:17px auto 9px}
  .rc-program-map-svg-labels{display:none}
  .rc-program-route-lines .rc-program-route{stroke-width:3.5}
  .rc-program-map-legend{justify-content:flex-start;gap:9px 15px;margin-bottom:15px}
  .rc-program-map-legend span{font-size:8px}
  .rc-program-invitation-heading h3{font-size:clamp(43px,9.4vw,67px)}
}
@media(prefers-reduced-motion:reduce){
  .rc-program-route-lines .rc-program-route{transition:none!important;stroke-dashoffset:0!important;opacity:1!important}
  .rc-program-destination-halo,.rc-program-origin-halo{animation:none!important;opacity:.65!important}
  .rc-program-map-svg-labels{transition:none!important;opacity:1!important}
}


/* Microinteracciones discretas — rutas, beneficios y condiciones de acceso. */
.rc-program-travelers{
  opacity:0;
  transition:opacity .55s ease 1.45s;
}
.rc-program-reach.rc-is-visible .rc-program-travelers{opacity:.92}
.rc-program-traveler{
  filter:drop-shadow(0 0 4px rgba(227,55,67,.65));
}
@media(hover:hover) and (pointer:fine){
  .rc-program-benefit{
    position:relative;
    transition:background-color .32s ease,box-shadow .32s ease,transform .4s cubic-bezier(.2,.8,.2,1);
  }
  .rc-program-benefit-detail:hover{
    z-index:1;
    background:#fcfaf5;
    box-shadow:inset 0 0 0 1px rgba(211,67,72,.26);
    transform:translateY(-3px);
  }
  .rc-program-benefit-detail .rc-program-benefit-icon{
    transition:transform .4s cubic-bezier(.2,.8,.2,1);
  }
  .rc-program-benefit-detail:hover .rc-program-benefit-icon{
    transform:translateY(-3px) rotate(-3deg);
  }
  .rc-program-benefit-arrow{
    transition:transform .36s cubic-bezier(.2,.8,.2,1);
  }
  .rc-program-benefit-hero:hover .rc-program-benefit-arrow{
    transform:translate(3px,-3px);
  }
  .rc-program-conditions>div{
    transition:background-color .32s ease,border-color .32s ease;
  }
  .rc-program-conditions>div strong{
    transition:transform .34s cubic-bezier(.2,.8,.2,1);
  }
  .rc-program-conditions>div:hover{
    background:rgba(255,255,255,.036);
    border-color:#64524f;
  }
  .rc-program-conditions>div:hover strong{
    transform:translateX(5px);
  }
  .rc-program-conditions>div:hover>span{color:#ff9fa3}
}
@media(prefers-reduced-motion:reduce){
  .rc-program-travelers{display:none!important}
  .rc-program-benefit,
  .rc-program-benefit-detail .rc-program-benefit-icon,
  .rc-program-benefit-arrow,
  .rc-program-conditions>div,
  .rc-program-conditions>div strong{transition:none!important}
  .rc-program-benefit-detail:hover,
  .rc-program-benefit-detail:hover .rc-program-benefit-icon,
  .rc-program-benefit-hero:hover .rc-program-benefit-arrow,
  .rc-program-conditions>div:hover strong{transform:none!important}
}
