/* Requested corrections; header-band alternatives remain separate. */
.tutoras #scene-contexto .map-key,.tutoras #scene-contexto .map-route{justify-content:center;text-align:center}
.tutoras #scene-contexto .map-provenance{align-self:stretch;text-align:center}
.tutoras #conclusion-stage{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;min-height:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.conclusion-size-reference,.conclusion-visible{grid-area:1/1;min-width:0}
.conclusion-size-reference{visibility:hidden;pointer-events:none;display:grid;grid-template-columns:minmax(0,1fr);align-items:start}
.conclusion-size-reference>.literal-conclusion{grid-area:1/1}
.tutoras #conclusion-stage .literal-conclusion{border:0;min-height:0;margin:0;animation:none;transform:none}
.tutoras #scene-conclusiones .conclusion-head{margin-top:10px}
/* Move each complete raft as one unit; avoid many independent SVG animations. */
.conclusion-ocean .marine-rope{animation:none}
.conclusion-ocean .marine-rays{animation:none;opacity:.65}
.conclusion-ocean .marine-sunbeams,.conclusion-ocean .marine-sunbeams-underwater{animation:none;opacity:.65}

/* One shared type scale for opening, permission and closing covers. */
@media(min-width:901px){
 .tutoras .academic-cover h1{font-size:clamp(40px,3.3vw,84px);line-height:1.08;max-width:1450px!important}
 .tutoras .academic-cover .cover-main{margin-top:clamp(28px,3vh,48px)}
 .tutoras .academic-cover .cover-people{font-size:clamp(20px,1.18vw,30px);gap:clamp(18px,1.8vh,28px)}
 .tutoras .academic-cover .cover-people strong{font-size:clamp(28px,1.5vw,38px)}
 .tutoras .academic-cover .cover-people>div>span{font-size:clamp(12px,.63vw,16px);margin-bottom:8px}
 .tutoras .academic-cover .cover-people>div:first-child p{font-size:clamp(17px,.94vw,24px)}
 .tutoras .academic-cover .cover-people>div:last-child p{font-size:clamp(17px,.9vw,23px)}
}

@media(min-width:901px){.tutoras .academic-cover .cover-subtitle{font-size:clamp(20px,1.25vw,32px)}}

/* Brief, unnumbered roadmap; no automatic slide advance. */
.tutoras #scene-indice .agenda-inner{width:min(2100px,88vw);max-width:none;justify-content:center}
.tutoras #scene-indice h2{font-size:clamp(44px,4.4vw,100px);line-height:1.08;margin-bottom:clamp(55px,8vh,115px)}
.agenda-route{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:3vw}
.agenda-line{position:absolute;left:0;right:0;top:13px;height:2px;background:var(--line);transform-origin:left}
.agenda-line:after{content:"";position:absolute;inset:0;background:var(--green);transform:scaleX(0);transform-origin:left}
.agenda-stop{position:relative;text-decoration:none;color:var(--ink);display:block}
.agenda-dot{display:block;width:28px;height:28px;border-radius:50%;background:var(--paper);border:2px solid var(--green);margin-bottom:32px}
.agenda-stop h3{font-size:clamp(24px,1.5vw,38px);font-weight:500;line-height:1.15;margin-bottom:14px}
.agenda-stop p{font-size:clamp(18px,1.05vw,27px);line-height:1.5;max-width:320px;color:var(--muted)}
#scene-indice.active .agenda-line:after{animation:agenda-track 1.3s .15s ease both}
#scene-indice.active .agenda-stop{animation:agenda-appear .5s calc(.15s + var(--step)*.18s) both}
@keyframes agenda-track{to{transform:scaleX(1)}}
@keyframes agenda-appear{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(max-width:900px){.agenda-route{grid-template-columns:1fr 1fr;gap:28px}.agenda-line{display:none}.agenda-dot{margin-bottom:12px}.tutoras #scene-indice h2{font-size:40px;margin-bottom:35px}}
@media(prefers-reduced-motion:reduce){#scene-indice.active .agenda-line:after,#scene-indice.active .agenda-stop{animation:none}.agenda-line:after{transform:none}}

/* Keep text fixed; the lower rule and navigation share the same offset. */
.tutoras #conclusion-stage{position:relative;border-bottom-color:transparent}
.tutoras #conclusion-stage:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--line);pointer-events:none;transform:translateY(var(--conclusion-rule-offset,0px));transition:transform .45s cubic-bezier(.4,0,.2,1)}
.tutoras #scene-conclusiones .conclusion-nav{transform:translateY(var(--conclusion-rule-offset,0px));transition:transform .45s cubic-bezier(.4,0,.2,1)}
@media(prefers-reduced-motion:reduce){.tutoras #conclusion-stage:after,.tutoras #scene-conclusiones .conclusion-nav{transition:none}}
.reduce-motion #conclusion-stage:after,.reduce-motion #scene-conclusiones .conclusion-nav{transition:none}
