/* Janette C. private portal — Spanish copy + vertical roadmap progress */
.portal-page-es .access-card > p:not(.status){max-width:390px}
.portal-page-es .hero-lede{max-width:760px}
.portal-page-es .roadmap-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}
.portal-page-es .roadmap-heading-row h2{margin-bottom:10px}
.portal-page-es .roadmap-heading-row p{max-width:650px;margin:0;color:var(--muted)}
.portal-page-es .roadmap-overall-chip{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid rgba(227,186,99,.32);border-radius:999px;background:rgba(227,186,99,.07)}
.portal-page-es .roadmap-overall-chip strong{font-size:1.15rem;color:var(--gold2)}
.portal-page-es .roadmap-overall-chip span{font-size:.63rem;font-weight:900;letter-spacing:.12em;color:#e9d9b2}

.portal-page-es .project-timeline-linear{
  --rail-top:46px;
  --rail-height:calc(100% - 92px);
  --marker-y:46px;
  position:relative;
  padding-left:82px
}
.portal-page-es .project-timeline-linear .timeline-rail{
  position:absolute;
  top:var(--rail-top);
  left:18px;
  width:10px;
  height:var(--rail-height);
  border-radius:999px;
  background:rgba(255,255,255,.075);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.045)
}
.portal-page-es .project-timeline-linear .timeline-rail i{
  position:absolute;
  inset:0 0 auto;
  height:max(0px,calc(var(--marker-y) - var(--rail-top)));
  border-radius:999px;
  background:linear-gradient(180deg,var(--green),var(--gold));
  box-shadow:0 0 24px rgba(227,186,99,.25)
}
.portal-page-es .project-timeline-linear .timeline-rail b{
  position:absolute;
  z-index:3;
  left:50%;
  top:calc(var(--marker-y) - var(--rail-top));
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  width:56px;
  height:32px;
  border:1px solid rgba(227,186,99,.45);
  border-radius:999px;
  background:#17120d;
  color:var(--gold2);
  font-size:.72rem;
  letter-spacing:.04em;
  box-shadow:0 10px 30px rgba(0,0,0,.35),0 0 22px rgba(227,186,99,.18)
}
.portal-page-es .project-timeline-linear article{position:relative}
.portal-page-es .project-timeline-linear article::before{
  content:"";
  position:absolute;
  left:-54px;
  top:50%;
  width:54px;
  height:1px;
  background:rgba(255,255,255,.12)
}
.portal-page-es .project-timeline-linear article.done::before{background:var(--green)}
.portal-page-es .project-timeline-linear article.active::before{background:var(--gold)}
.portal-page-es .project-timeline-linear article.active{border-bottom-color:rgba(227,186,99,.22);background:linear-gradient(90deg,rgba(227,186,99,.035),transparent 48%)}
.portal-page-es .project-timeline-linear article.active>span{white-space:nowrap}

@media(max-width:900px){
  .portal-page-es .roadmap-heading-row{align-items:flex-start;flex-direction:column}
  .portal-page-es .project-timeline-linear{padding-left:58px}
  .portal-page-es .project-timeline-linear .timeline-rail{left:10px}
  .portal-page-es .project-timeline-linear article::before{left:-38px;width:38px}
}

@media(max-width:520px){
  .portal-page-es .roadmap-overall-chip{width:100%;justify-content:space-between}
  .portal-page-es .project-timeline-linear{padding-left:42px}
  .portal-page-es .project-timeline-linear .timeline-rail{left:4px;width:8px}
  .portal-page-es .project-timeline-linear .timeline-rail b{width:48px;height:28px;font-size:.66rem}
  .portal-page-es .project-timeline-linear article{grid-template-columns:44px 1fr;padding:22px 0}
  .portal-page-es .project-timeline-linear article::before{left:-24px;width:24px}
  .portal-page-es .project-timeline-linear article>span{grid-column:2}
}


/* Rail geometry is measured against the exact centers of stages 01, current, and 08. */

/* v4.5.4 — waveform player restored + private SILVER category */
.portal-page-es .portal-summary-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.portal-page-es .summary-tier-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(220,228,238,.28);
  background:
    radial-gradient(circle at 82% 12%,rgba(230,236,244,.12),transparent 38%),
    linear-gradient(145deg,rgba(225,232,241,.075),rgba(255,255,255,.018));
}
.portal-page-es .summary-tier-card::after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  background:linear-gradient(180deg,#f4f7fb,#8e9aaa);
  opacity:.75;
}
.portal-page-es .private-tier-silver{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:30px;
  padding:5px 11px;
  border:1px solid rgba(226,233,242,.48);
  border-radius:999px;
  color:#f7f9fc;
  background:linear-gradient(135deg,rgba(238,243,248,.17),rgba(125,139,158,.08));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 0 22px rgba(205,216,230,.07);
  font-size:.78rem!important;
  letter-spacing:.16em;
}
.portal-page-es .summary-tier-card small{
  display:block;
  margin-top:9px;
  color:var(--muted);
  font-size:.72rem;
}

.portal-page-es .soundcloud-waveform-player{
  display:block;
  min-height:178px;
  padding:6px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;
  background:
    radial-gradient(circle at 12% 45%,rgba(217,93,255,.12),transparent 38%),
    linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012)),
    #08080e;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 44px rgba(0,0,0,.25);
}
.portal-page-es .soundcloud-waveform-player iframe{
  display:block;
  width:100%!important;
  height:166px!important;
  min-height:166px!important;
  border:0!important;
  border-radius:11px;
  background:#f5f5f5;
}

@media(max-width:1050px){
  .portal-page-es .portal-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .portal-page-es .portal-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .portal-page-es .portal-summary-grid{grid-template-columns:1fr}
  .portal-page-es .soundcloud-waveform-player{padding:5px;border-radius:14px}
  .portal-page-es .soundcloud-waveform-player iframe{border-radius:9px}
}

/* v4.5.5 — larger, more legible progress percentages */
.portal-page-es .roadmap-overall-chip strong{
  font-size:1.38rem;
  line-height:1;
}
.portal-page-es .project-timeline-linear .timeline-rail b{
  width:72px;
  height:40px;
  border-width:1.5px;
  font-size:.9rem;
  font-weight:900;
  letter-spacing:.025em;
  box-shadow:0 12px 34px rgba(0,0,0,.42),0 0 30px rgba(227,186,99,.25);
}
@media(max-width:520px){
  .portal-page-es .project-timeline-linear .timeline-rail b{
    width:62px;
    height:36px;
    font-size:.8rem;
  }
}


/* v4.5.6 — private native MP3 player with a true decoded waveform */
.portal-page-es .project-audio-player{
  position:relative;
  width:100%;
  margin-top:18px;
  padding:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:17px;
  background:
    radial-gradient(circle at 12% 40%,rgba(217,93,255,.13),transparent 38%),
    radial-gradient(circle at 92% 0,rgba(227,186,99,.09),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.047),rgba(255,255,255,.012)),
    #08080e;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 18px 44px rgba(0,0,0,.3);
}
.portal-page-es .project-audio-player::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(115deg,rgba(255,255,255,.035),transparent 32%);
}
.portal-page-es .project-audio-element{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:46px;
}
.portal-page-es .project-audio-player.custom-audio-ready .project-audio-element{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.portal-page-es .project-audio-controls{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:center;
  gap:16px;
}
.portal-page-es .project-audio-play{
  position:relative;
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  padding:0;
  border:1px solid rgba(227,186,99,.5);
  border-radius:50%;
  cursor:pointer;
  color:#09090e;
  background:linear-gradient(145deg,#ffe49a,#d9c400 62%,#af8d21);
  box-shadow:0 10px 26px rgba(0,0,0,.36),0 0 25px rgba(217,196,0,.15),inset 0 1px 0 rgba(255,255,255,.6);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.portal-page-es .project-audio-play:hover{transform:translateY(-1px) scale(1.025);filter:brightness(1.05);box-shadow:0 14px 32px rgba(0,0,0,.4),0 0 32px rgba(217,196,0,.22),inset 0 1px 0 rgba(255,255,255,.68)}
.portal-page-es .project-audio-play:focus-visible{outline:2px solid #fff;outline-offset:4px}
.portal-page-es .project-audio-play span{
  display:block;
  width:0;
  height:0;
  margin-left:4px;
  border-top:8px solid transparent;
  border-bottom:8px solid transparent;
  border-left:13px solid #09090e;
}
.portal-page-es .project-audio-play.is-playing span{
  width:13px;
  height:16px;
  margin-left:0;
  border:0;
  background:linear-gradient(90deg,#09090e 0 36%,transparent 36% 64%,#09090e 64% 100%);
}
.portal-page-es .project-audio-main{min-width:0}
.portal-page-es .project-audio-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:9px;
}
.portal-page-es .project-audio-label{
  overflow:hidden;
  color:#f4f1f6;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.13em;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.portal-page-es .project-audio-time{
  flex:0 0 auto;
  color:#a9a4b0;
  font-size:.72rem;
  font-variant-numeric:tabular-nums;
}
.portal-page-es .project-audio-time b{color:#f4e2a0;font-weight:800}
.portal-page-es .project-audio-time i{margin:0 5px;color:#5f5b66;font-style:normal}
.portal-page-es .project-waveform{
  position:relative;
  width:100%;
  height:76px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.085);
  border-radius:12px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),transparent),
    repeating-linear-gradient(90deg,transparent 0 39px,rgba(255,255,255,.025) 40px),
    #07070c;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);
}
.portal-page-es .project-waveform canvas{
  display:block;
  width:100%;
  height:100%;
  cursor:pointer;
  touch-action:none;
}
.portal-page-es .project-waveform canvas:focus-visible{outline:2px solid var(--gold2);outline-offset:-3px;border-radius:12px}
.portal-page-es .project-waveform-status{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  color:#8e8995;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.12em;
  pointer-events:none;
  transition:opacity .25s ease;
}
.portal-page-es .project-audio-player.waveform-ready .project-waveform-status{opacity:0}
.portal-page-es .project-audio-player.waveform-error .project-waveform-status{color:#d6c989}
.portal-page-es .audio-privacy-note{
  display:flex;
  align-items:center;
  gap:8px;
  margin:13px 0 0!important;
  color:#8e8995!important;
  font-size:.61rem!important;
  font-weight:800;
  letter-spacing:.1em;
}
.portal-page-es .audio-privacy-note span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 13px rgba(93,231,181,.4);
}

@media(max-width:620px){
  .portal-page-es .project-audio-player{padding:13px;border-radius:15px}
  .portal-page-es .project-audio-controls{grid-template-columns:50px minmax(0,1fr);gap:12px}
  .portal-page-es .project-audio-play{width:50px;height:50px}
  .portal-page-es .project-waveform{height:68px}
  .portal-page-es .project-audio-label{font-size:.58rem;letter-spacing:.1em}
  .portal-page-es .project-audio-time{font-size:.67rem}
}
@media(max-width:430px){
  .portal-page-es .project-audio-controls{grid-template-columns:1fr}
  .portal-page-es .project-audio-play{position:absolute;z-index:3;left:10px;bottom:9px;width:44px;height:44px}
  .portal-page-es .project-audio-main{width:100%}
  .portal-page-es .project-waveform{height:88px;padding-left:54px}
  .portal-page-es .project-audio-meta{margin-bottom:8px}
  .portal-page-es .project-audio-label{max-width:62%}
}


/* v4.5.7 — stronger vertical progress percentage, center remains fixed on current stage */
.portal-page-es .project-timeline-linear .timeline-rail b{
  width:98px;
  height:52px;
  border-width:2px;
  font-size:1.08rem;
  font-weight:950;
  letter-spacing:.015em;
  background:linear-gradient(145deg,#21180d,#0f0d0b 72%);
  box-shadow:0 16px 42px rgba(0,0,0,.48),0 0 38px rgba(227,186,99,.32),inset 0 1px 0 rgba(255,255,255,.08);
}
@media(max-width:700px){
  .portal-page-es .project-timeline-linear .timeline-rail b{
    width:82px;
    height:46px;
    font-size:.96rem;
  }
}
@media(max-width:520px){
  .portal-page-es .project-timeline-linear .timeline-rail b{
    width:70px;
    height:40px;
    font-size:.86rem;
  }
}
