/* A marine contents page: four sections, visible together and manually navigated. */
.tutoras #scene-indice{--ink:#f3f4e9;--muted:#eef4ed;--line:#d0e5df30;--green:#c0d497;isolation:isolate;color:var(--ink);background:linear-gradient(160deg,#155f87 0%,#3b7d88 52%,#8eaf58 120%)}
.tutoras #scene-indice:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 0%,#fff2,transparent 50%);pointer-events:none}
.tutoras #scene-indice .agenda-inner{position:relative;display:grid;grid-template-columns:minmax(0,.76fr) minmax(0,1.4fr);gap:7vw;align-items:center;width:min(2100px,88vw);max-width:none;justify-content:initial}
#scene-indice .agenda-inner>.eyebrow{display:none}
.tutoras #scene-indice h2{font-family:var(--serif);font-weight:400;font-style:italic;font-size:clamp(70px,5.4vw,136px);line-height:1.05;letter-spacing:-.04em;margin:0 0 2vh;text-align:center}
.agenda-intro{align-self:center;min-width:0}
.agenda-raft{width:100%;max-height:58vh;display:block;overflow:visible}
.agenda-contours{stroke:#b4d7d1;stroke-width:1;opacity:.2;animation:agenda-tide 15s ease-in-out infinite alternate}
.agenda-culture{animation:agenda-bob 9s ease-in-out infinite}
.agenda-deck{stroke:#d6e7dc;stroke-width:1.5;fill:none}
.agenda-culture-ropes{fill:#c9ded4;stroke:#c9ded4;stroke-width:.6;opacity:.7}
.agenda-culture-rope{animation:agenda-sway 8s ease-in-out infinite alternate;animation-delay:var(--delay)}
.agenda-culture-rope path{fill:none;opacity:.5}
.agenda-bubbles{stroke:#b2dbd7;stroke-width:1.2}
.agenda-bubble{animation:agenda-rise var(--duration) linear infinite;animation-delay:var(--delay);opacity:0}
.agenda-sections{display:flex;flex-direction:column;gap:0;position:relative}
.agenda-section{display:grid;grid-template-columns:38px minmax(0,1fr);gap:25px;color:var(--ink);text-decoration:none;padding:clamp(20px,2.7vh,38px) 0;border-top:1px solid var(--line);position:relative}
.agenda-section:last-child{border-bottom:1px solid var(--line)}
.agenda-section:before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,#b7d69b,transparent 80%);transform:scaleX(0);transform-origin:left}
.agenda-waypoint{width:15px;height:15px;margin-top:13px;border:1px solid #b9d398;border-radius:50%;position:relative}
.agenda-waypoint:after{content:"";position:absolute;inset:4px;border-radius:50%;background:#b9d398;opacity:.85}
.agenda-section h3{font-size:clamp(28px,1.7vw,43px);font-weight:500;line-height:1.12;margin:0 0 15px;letter-spacing:-.025em}
.agenda-section p{font-size:clamp(20px,1.16vw,29px);line-height:1.45;color:var(--muted);max-width:1000px;margin:0}
.agenda-section:hover h3,.agenda-section:focus-visible h3{color:#c8dfaa}
.agenda-section:hover:before,.agenda-section:focus-visible:before{transform:scaleX(1)}
#scene-indice.active .agenda-section{animation:agenda-reveal .4s calc(.04s + var(--step)*.07s) both}
#scene-indice.active .agenda-section:before{animation:agenda-trace .45s calc(.04s + var(--step)*.07s) both}
body:has(#scene-indice.active) .presentation-menu{color:#e7ede6}
.scene:not(.active) .agenda-raft *,.sequence-paused .agenda-raft *{animation-play-state:paused!important}
@keyframes agenda-reveal{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
@keyframes agenda-trace{to{transform:scaleX(1)}}
@keyframes agenda-tide{from{transform:translateX(-10px)}to{transform:translateX(10px)}}
@keyframes agenda-bob{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}
@keyframes agenda-sway{from{transform:rotate(calc(var(--drift)*-1))}to{transform:rotate(var(--drift))}}
@keyframes agenda-rise{0%{opacity:0;transform:translateY(0)}15%,70%{opacity:.45}100%{opacity:0;transform:translateY(-410px)}}
@media(max-height:800px) and (min-width:901px){.agenda-section{padding:18px 0;gap:15px}.agenda-section h3{font-size:26px;margin-bottom:9px}.agenda-section p{font-size:18px;line-height:1.4}.agenda-waypoint{margin-top:7px}.tutoras #scene-indice h2{font-size:68px}}
@media(max-width:900px){.tutoras #scene-indice .agenda-inner{display:block;width:100%}.tutoras #scene-indice h2{font-size:64px;margin-bottom:35px}.agenda-raft{position:absolute;width:220px;right:-30px;top:-70px;opacity:.13}.agenda-section{padding:23px 0;gap:10px;grid-template-columns:25px minmax(0,1fr)}.agenda-section h3{font-size:27px;margin-bottom:10px}.agenda-section p{font-size:19px}.agenda-waypoint{margin-top:6px}}
body.reduce-motion .agenda-raft *,body.reduce-motion #scene-indice.active .agenda-section,body.reduce-motion #scene-indice.active .agenda-section:before{animation:none!important}
@media(prefers-reduced-motion:reduce){.agenda-raft *,#scene-indice.active .agenda-section,#scene-indice.active .agenda-section:before{animation:none!important}}

.water-transfer{position:fixed;z-index:6;left:0;right:0;pointer-events:none}
body.water-transition-running #scene-indice .agenda-inner{opacity:0;transition:none}
body.water-transition-running #scene-indice .agenda-section,body.water-transition-running #scene-indice .agenda-section:before{animation:none!important}
#scene-indice .agenda-inner{transition:opacity .18s ease}

/* The index content appears above the rising water; its background waits for it. */
body.water-cover-to-index #scene-indice{background:transparent}
body.water-cover-to-index #scene-indice:before{opacity:0}

/* Preserve the outgoing slide until the downward water fill covers it. */
.water-preconclusions{top:0;height:100vh;background-size:100% 100%;background-position:0 0;background-repeat:no-repeat;will-change:clip-path,top,height,opacity}
.scene.water-outgoing{opacity:1!important;visibility:visible!important;transform:none!important;transition:none!important;z-index:3;pointer-events:none;background:var(--paper)}

.scene.water-outgoing.water-covered{opacity:0!important;visibility:hidden!important}

/* Rise from the cover into the darker sea of the conclusions. */
.water-conclusions{inset:0;background-size:100vw 100vh;background-position:0 0;background-repeat:no-repeat;will-change:clip-path,opacity}
.water-conclusions-original{position:absolute;left:0;right:0;bottom:0;background-size:100% 100%;background-repeat:no-repeat;will-change:top,opacity}
.scene.water-outgoing.water-conclusions-outgoing{transition:opacity .35s ease!important}
.scene.water-outgoing.water-conclusions-outgoing.water-conclusions-covered{opacity:0!important}

/* Fade the cover artwork and words into its pale background during the rise. */
.scene.water-conclusions-outgoing .cover-inner>:not(.water){opacity:var(--water-cover-content-opacity,1)!important}
