/* Centered section composition. Keep long lists and disclosure controls readable. */
main>.section{text-align:center}
main>.section .section-head,main>.section .section-head.wide{max-width:1020px;margin-left:auto;margin-right:auto;text-align:center}
main>.section .section-head>p:not(.eyebrow){margin-left:auto;margin-right:auto;max-width:800px}
main>.section h2{text-align:center}
.cost,.facilitator,.offer,.faq{display:block}
.cost>h2{margin-bottom:36px}
.cost>div{max-width:760px;margin:0 auto;padding-top:0}
.host-photo,.experience-photo{margin-left:auto;margin-right:auto}
.host-stat{justify-content:center}
.host-copy{max-width:850px;margin:45px auto 0}
.offer>div:first-child>p:last-of-type{max-width:760px;margin-left:auto;margin-right:auto}
.offer>div:nth-child(2){max-width:800px;margin:40px auto 0}
.offer .includes,.agenda-details,.membership-card .includes,.starting-column ul,.faq-list{text-align:left}
.faq-list{max-width:900px;margin:40px auto 0}
.payment-panel{margin-left:auto;margin-right:auto}
.transfer-key{text-align:center}
.membership-badge{align-self:center}
.experience-card .card-number{justify-content:center;gap:14px}
.participation-note{justify-content:center;align-items:center;text-align:center}
.participation-note p{max-width:800px}
.reservation-block{justify-content:center}
.reservation-block p{margin-left:auto;margin-right:auto}

/* A functional route map climbs as the six story cards enter the viewport. */
.journey-section{background:#000000}
.journey-section>.section-head{margin-bottom:40px}
.journey-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:64px;max-width:1160px;margin:0 auto;align-items:start;text-align:center}
.journey-map-panel{position:sticky;top:30px;align-self:start;min-width:0;border:1px solid #a974cd38;border-radius:26px;background:radial-gradient(ellipse at 65% 20%,#31134688,transparent 65%),#121212;box-shadow:0 20px 60px #00000025;padding:18px 22px 24px}
.journey-map-art{min-width:0}.journey-map-mobile{display:none!important}
.journey-map-svg{display:block;width:100%;height:auto;max-height:60svh;overflow:visible}
.route-guide-lines path{fill:none;stroke:#ffffff06;stroke-width:1;stroke-dasharray:3 9}
.route-track{fill:none;stroke:#674e7c80;stroke-width:7;stroke-linecap:round}
.route-progress{fill:none;stroke:#c48af3;stroke-width:7;stroke-linecap:round;stroke-dasharray:var(--route-length,1000);stroke-dashoffset:var(--route-length,1000);transition:stroke-dashoffset .7s ease;filter:drop-shadow(0 0 5px #c48af370)}
.route-progress.is-complete{stroke-dashoffset:0}
.route-marker-halo{fill:#820ad114;stroke:#a973cd30;stroke-width:1;transition:fill .35s,stroke .35s}
.route-marker-dot{fill:#1d162b;stroke:#80559d;stroke-width:2;transition:fill .35s,stroke .35s}

.route-flag-pole{fill:none;stroke:#89649f;stroke-width:2.5;stroke-linecap:round;transition:stroke .35s}
.route-flag{fill:#44265a;stroke:#89649f;stroke-width:1.5;transition:fill .35s,stroke .35s}
.route-marker.is-complete .route-marker-dot{fill:#48215f;stroke:#c087ec}

.route-marker.is-complete .route-flag{fill:#9c48cd;stroke:#d8a7f7}
.route-marker.is-complete .route-flag-pole{stroke:#d8a7f7}
.route-marker.is-active .route-marker-halo{fill:#c48af31a;stroke:#c48af388}
.route-marker.is-active .route-marker-dot{fill:#c48af3;stroke:#f3e5ff;filter:drop-shadow(0 0 10px #c48af360)}

.route-marker.is-active .route-flag{fill:#c48af3;stroke:#ecd3ff}
.route-marker.is-active .route-flag-pole{stroke:#c48af3}
.route-start-label,.route-goal-label{font-family:var(--body);font-size:12px;letter-spacing:1px;fill:#b597ca}
.route-goal-label{font-weight:800;fill:#c48af3}
.journey-map-meta{border-top:1px solid #ffffff12;padding-top:18px}
.journey-map-eyebrow{font-size:.75rem;letter-spacing:.14em;margin:0 0 10px;color:#b8a0c9}
.journey-current-icon{display:inline-block;color:var(--accent);font-size:.875rem;font-weight:650;letter-spacing:.08em;margin-right:10px;font-variant-numeric:tabular-nums}
.journey-current-title{font-family:Inter,var(--display);font-size:1.25rem;font-weight:800;line-height:1.4;color:#fff}
.journey-map-goal{font-size:.875rem;margin:8px 0 0;color:#b9a7c6;line-height:1.5}
.journey-stations{margin:0;padding:0;list-style:none;min-width:0}
.journey-station{min-height:58svh;display:flex;align-items:center;justify-content:center;padding:36px 0;scroll-margin-top:40px}
.journey-station:first-child{padding-top:10px}
.journey-station:last-child{padding-bottom:10px}
.journey-stage-card{width:100%;padding:30px 28px;border:1px solid #9c6dc52b;border-radius:24px;background:#121212;transition:border-color .35s,background .35s,box-shadow .35s}
.journey-stage-symbol{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:.75rem;letter-spacing:.1em;color:#c29cdb;line-height:1.5;margin-bottom:16px}
.journey-stage-title{font-family:Inter,var(--display);font-size:clamp(2rem,3vw,2.8rem);font-weight:900;letter-spacing:-.04em;line-height:1.12;margin:0 0 14px;color:#e8e0ee;transition:color .35s,text-shadow .35s}
.journey-stage-focus{font-size:1.125rem;font-weight:750;line-height:1.45;margin:0 0 20px;color:#d2b4e8}
.journey-stage-description{font-size:1rem;line-height:1.7;margin:0 0 24px;color:#b9b2c7}
.journey-stage-output{padding-top:20px;border-top:1px solid #ffffff16}
.journey-stage-output>span{font-size:.75rem;font-weight:650;letter-spacing:.1em;color:#c6a5dc}
.journey-stage-output>p{margin:8px 0 0;font-size:.9375rem;line-height:1.6;color:#e4daec}
.journey-station.is-active .journey-stage-card{border-color:#c48af38c;background:linear-gradient(145deg,#231332,#121212);box-shadow:0 0 38px #820ad124}
.journey-station.is-active .journey-stage-title{color:var(--accent);text-shadow:0 0 28px #c48af322}
.journey-station.is-active .journey-stage-symbol{color:var(--accent)}
.journey-station.is-active .journey-stage-focus{color:#fff}
.journey-station.is-complete .journey-stage-card{border-color:#b775e645}
.journey-station:last-child .journey-stage-output>span{color:var(--accent)}
.journey-layout.is-enhanced .journey-stage-title,.journey-layout.is-enhanced .journey-stage-focus,.journey-layout.is-enhanced .journey-stage-description,.journey-layout.is-enhanced .journey-stage-output{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease,color .35s}
.journey-layout.is-enhanced .is-revealed .journey-stage-title,.journey-layout.is-enhanced .is-revealed .journey-stage-focus,.journey-layout.is-enhanced .is-revealed .journey-stage-description,.journey-layout.is-enhanced .is-revealed .journey-stage-output{opacity:1;transform:none}
.journey-layout.is-enhanced .journey-stage-focus{transition-delay:.08s}
.journey-layout.is-enhanced .journey-stage-description{transition-delay:.14s}
.journey-layout.is-enhanced .journey-stage-output{transition-delay:.2s}
@media(max-width:1100px){.journey-layout{gap:32px}.journey-map-panel{padding:16px 16px 22px}.journey-stage-card{padding:26px 23px}.journey-map-svg{max-height:55svh}}
@media(max-width:760px){
 .journey-section>.section-head{margin-bottom:30px}
 .journey-layout{display:block}
 .journey-map-panel{display:block;top:10px;z-index:2;padding:10px 14px 12px;border-radius:20px;background:#121212;box-shadow:0 12px 32px #000000bb}
 .journey-map-svg{height:auto;max-height:none;width:100%}.journey-map-desktop{display:none}.journey-map-mobile{display:block!important}.journey-map-mobile .route-start-label,.journey-map-mobile .route-goal-label{font-size:30px;letter-spacing:1px}.journey-stations{margin-top:12px}
 .journey-map-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 10px;border-top:1px solid #ffffff12;padding-top:9px}
 .journey-map-eyebrow{display:none}
 .journey-current-icon{display:inline;margin:0;font-size:.8125rem}
 .journey-current-title{font-size:1.125rem;display:inline}
 .journey-map-goal{width:100%;font-size:.75rem;margin:0}
 .journey-station{min-height:62svh;padding:25px 0;scroll-margin-top:225px}
 .journey-station:first-child{padding-top:18px}
 .journey-stage-card{padding:26px 22px;border-radius:20px}
 .journey-stage-title{font-size:2.2rem}
 .journey-stage-focus{font-size:1.0625rem}
 .journey-stage-description{font-size:1rem}
 .journey-stage-output>p{font-size:.9375rem}
 .participation-note{display:block}
 .host-copy{margin-top:35px}
 .offer>div:nth-child(2),.faq-list{margin-top:30px}
}
@media(prefers-reduced-motion:reduce){
 .journey-layout.is-enhanced .journey-stage-title,.journey-layout.is-enhanced .journey-stage-focus,.journey-layout.is-enhanced .journey-stage-description,.journey-layout.is-enhanced .journey-stage-output{opacity:1;transform:none}
 .journey-section *{transition:none!important;animation:none!important}
}

/* Thematic icons replace decorative numbering in the route and experiences. */
.theme-icon{display:block;flex-shrink:0;overflow:visible}
.journey-stage-symbol{width:74px;height:74px;padding:17px;border:1px solid #a979cb66;border-radius:50%;background:#820ad114;color:#c69de4;margin-bottom:22px}
.journey-stage-symbol>.theme-icon{width:38px;height:38px}
.journey-station.is-active .journey-stage-symbol{color:var(--accent);border-color:#c48af399;background:#c48af30c;box-shadow:0 0 25px #c48af312}
.journey-current-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;color:var(--accent);margin-right:10px}
.journey-current-icon>.theme-icon{width:28px;height:28px}
.route-marker-glyph{fill:none;stroke:#bda4cf;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .35s}
.route-marker.is-complete .route-marker-glyph{stroke:#ead3f8}
.route-marker.is-active .route-marker-glyph{stroke:#000000}
.experience-icon-row{display:flex;min-height:84px;align-items:center;justify-content:center;flex-direction:column;gap:8px;margin-bottom:24px}
.experience-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border:1px solid #9a67ba66;border-radius:16px;background:#820ad114;color:var(--accent)}
.experience-icon>.theme-icon{width:32px;height:32px}
.experience-icon-row>.tag{color:#ceb6df}
@media(max-width:760px){.journey-stage-symbol{width:66px;height:66px;padding:15px}.journey-stage-symbol>.theme-icon{width:34px;height:34px}.journey-current-icon{display:inline-flex;margin:0}.journey-current-icon>.theme-icon{width:24px;height:24px}.journey-map-mobile .route-marker-glyph{stroke-width:2.4}}

/* Facilitator: portrait on the left, biography on the right. */
.facilitator.host-horizontal{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:center;text-align:left}
.host-horizontal .host-photo{width:100%;max-width:480px;aspect-ratio:4/5;min-height:460px;margin:0 auto;border-radius:24px}
.host-horizontal .host-copy{max-width:none;margin:0;min-width:0}
main>.section.facilitator.host-horizontal h2{text-align:left;font-size:clamp(2.4rem,3.6vw,3.75rem);font-weight:800;line-height:1.08;margin-bottom:18px}
.host-horizontal h2 span{color:var(--accent)}
.host-horizontal .host-role{margin-bottom:28px}
.host-horizontal .host-copy blockquote{font-size:clamp(1.2rem,1.6vw,1.45rem);line-height:1.5;margin-bottom:24px}
.host-horizontal .host-mission{color:#e8ddf2;border-left:3px solid #a65adb;padding-left:20px;margin-bottom:28px}
.host-horizontal .host-stat{justify-content:flex-start;margin:28px 0}
.host-horizontal .host-stat strong{font-size:2.6rem}
@media(max-width:1100px){.facilitator.host-horizontal{gap:40px}.host-horizontal .host-photo{min-height:360px}}
@media(max-width:760px){.facilitator.host-horizontal{grid-template-columns:1fr;gap:36px}.host-horizontal .host-photo{max-width:420px;min-height:0}.host-horizontal .host-copy{margin:0}main>.section.facilitator.host-horizontal h2{font-size:clamp(2.4rem,9vw,3.5rem)}}

/* Experience selection: pill buttons and a moving highlight on Trascender. */
#entrada .button,#entrada .copy-key-button{border-radius:9999px}
#entrada .event-strip{margin-top:40px}
@property --membership-shine-angle{syntax:"<angle>";inherits:false;initial-value:0deg}
#entrada .membership-card.featured{
  border:2px solid transparent;
  background:linear-gradient(145deg,#301345,#171022 70%) padding-box,conic-gradient(from var(--membership-shine-angle),#c185f0 0deg,#c185f0 265deg,#c48af3 300deg,#ffffff 318deg,#c185f0 340deg,#c185f0 360deg) border-box;
  animation:membership-border-shine 5s linear infinite;
}
@keyframes membership-border-shine{to{--membership-shine-angle:360deg}}
@media(prefers-reduced-motion:reduce){#entrada .membership-card.featured{animation:none}}

/* Agenda inspired by the event reference: introduction and six connected moments. */
.agenda-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:64px;align-items:start}
.event-agenda .agenda-intro,.event-agenda .agenda-program{text-align:left;min-width:0}
.event-agenda .agenda-intro>.eyebrow{color:var(--accent);margin-bottom:22px}
main>.section.event-agenda h2{text-align:left;font-size:clamp(2.3rem,3.8vw,3.6rem);font-weight:900;line-height:1.12;letter-spacing:-.045em;margin-bottom:36px}
.event-agenda .agenda-disclaimer{font-size:.9375rem;line-height:1.7;margin-bottom:20px}
.agenda-photo{width:100%;aspect-ratio:4/5;border-radius:22px;max-width:460px;min-height:300px}
.agenda-timeline{list-style:none;padding:0 0 0 30px;margin:0;position:relative}
.agenda-timeline:before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:1px;background:linear-gradient(#ba0edc,#a36ad0 70%,#624278)}
.agenda-timeline>li{position:relative;padding:0 0 30px}
.agenda-timeline>li:last-child{padding-bottom:0}
.agenda-timeline>li:before{content:"";position:absolute;left:-30px;top:5px;width:13px;height:13px;background:var(--accent);border:2px solid #5a276f;border-radius:50%;box-shadow:0 0 0 1px var(--accent)}
.event-agenda .agenda-stage{color:#c58bf1;font-size:.75rem;font-weight:800;letter-spacing:.12em;margin:0 0 7px;line-height:1.5}
.agenda-timeline h3{font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:800;line-height:1.3;letter-spacing:-.025em;margin:0 0 9px}
.agenda-timeline>li>p:last-child{font-size:.9375rem;line-height:1.7;margin:0}
.event-agenda .agenda-note{font-size:.8125rem;line-height:1.7;margin:30px 0 0;padding-top:20px;border-top:1px solid var(--border)}
@media(max-width:1100px){.agenda-layout{gap:40px}}
@media(max-width:760px){.agenda-layout{grid-template-columns:1fr;gap:40px}main>.section.event-agenda h2{font-size:clamp(2.3rem,9vw,3.3rem);margin-bottom:24px}.agenda-photo{max-width:none;aspect-ratio:4/3;min-height:0}.agenda-timeline{padding-left:27px}.agenda-timeline>li:before{left:-27px}.agenda-timeline>li{padding-bottom:28px}}
