/* Larger, centered introduction; moving sea confined to the conclusion margins. */
@media(min-width:1500px) and (min-height:900px){
 .tutoras :is(#scene-contexto,#scene-objetivos,#scene-fuentes)>.scene-inner{max-width:1960px}
 .tutoras :is(#scene-contexto,#scene-objetivos,#scene-fuentes) h2{font-size:clamp(62px,3.4vw,80px)}
 .tutoras .context-layout{gap:4.2vw}
 .tutoras .context-map .map-camera{height:clamp(650px,53vh,780px)}
 .tutoras .context-stat strong{font-size:clamp(130px,6.2vw,156px)}
 .tutoras .context-stat p{font-size:30px}
 .tutoras .context-copy h3{font-size:48px}
 .tutoras .context-copy p{font-size:29px;line-height:1.45}
 .tutoras .objective-general>p{font-size:36px}
 .tutoras .objective-grid{gap:32px;margin:36px 0 28px}
 .tutoras .objective-item>b{font-size:37px}
 .tutoras .objective-item h3{font-size:32px}
 .tutoras .objective-item p{font-size:29px}
 .tutoras .objective-justification p{font-size:24px}
 .tutoras .source-table-row{font-size:31px;padding:29px 0;gap:36px}
 .tutoras .source-table-row b{font-size:34px}
 .tutoras .source-table-row small{font-size:22px}
 .tutoras .source-table-head{font-size:18px}
 .tutoras .source-gap>span{font-size:29px}
 .tutoras .source-gap>p{font-size:26px}
}
.tutoras #scene-conclusiones{isolation:isolate;background:radial-gradient(ellipse at 80% 105%,#215c5c 0,transparent 60%),linear-gradient(165deg,#184b57,#123641 65%)}
.conclusion-ocean{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none}
.conclusion-ocean .conclusion-seascape{width:100%;height:100%;display:block;overflow:hidden}
.tutoras #scene-conclusiones>.conclusions-inner{position:relative;z-index:1}
@media(min-width:901px){.tutoras #scene-conclusiones>.conclusions-inner{width:min(1800px,72vw);max-width:none}}
.marine-waterlines{animation:marine-current 19s ease-in-out infinite alternate;transform-origin:center}
.marine-raft{animation:marine-float 11s ease-in-out infinite;animation-delay:var(--delay,0s)}
.marine-rope{animation:marine-sway var(--duration) ease-in-out infinite alternate;animation-delay:var(--delay)}
.marine-bubble{animation:marine-rise var(--duration) linear infinite;animation-delay:var(--delay);opacity:0}
.marine-rays{animation:marine-light 23s ease-in-out infinite alternate}
@keyframes marine-current{from{transform:translateX(-18px) translateY(-2px)}to{transform:translateX(18px) translateY(2px)}}
@keyframes marine-float{0%,100%{transform:translateY(-2px) rotate(-.35deg)}50%{transform:translateY(2px) rotate(.35deg)}}
@keyframes marine-sway{from{transform:rotate(calc(var(--sway) * -1))}to{transform:rotate(var(--sway))}}
@keyframes marine-rise{0%{opacity:0;transform:translate(0,30px)}14%{opacity:.32}76%{opacity:.23}100%{opacity:0;transform:translate(12px,-210px)}}
@keyframes marine-light{from{opacity:.4;transform:translateX(-8px)}to{opacity:.9;transform:translateX(8px)}}
.scene:not(.active) .conclusion-ocean *,.sequence-paused .conclusion-ocean *{animation-play-state:paused!important}
body.reduce-motion .conclusion-ocean *{animation:none!important}
body.reduce-motion .marine-bubble{opacity:.16}
@media(prefers-reduced-motion:reduce){body:not(.force-motion) .conclusion-ocean *{animation:none!important}body:not(.force-motion) .marine-bubble{opacity:.16}}
@media(max-width:900px){.conclusion-ocean{opacity:.35}.tutoras #scene-conclusiones>.conclusions-inner{padding-top:40px}.marine-rays{display:none}}

/* Surface in the same ivory as the cover; reading block centered under water. */
@media(min-width:901px){
 .tutoras #scene-conclusiones{padding:16dvh 0 0!important}
 .tutoras #scene-conclusiones>.conclusions-inner{height:84dvh}
}
@media(max-width:900px){.tutoras #scene-conclusiones{padding-top:18dvh!important}}

.marine-sunbeams,.marine-sunbeams-underwater{animation:marine-sunlight 24s ease-in-out infinite alternate;transform-origin:1120px 44px}
.marine-sunbeams-underwater path{opacity:.12}
@keyframes marine-sunlight{from{opacity:.45;transform:rotate(-.4deg)}to{opacity:.85;transform:rotate(.4deg)}}
body:has(#scene-conclusiones.active) .presentation-menu{color:#163d48}

/* Soft angular light, without clipped polygons or blur filters. */
.marine-diffuse-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 70% 7%,#fff4cc12 0,transparent 42%),conic-gradient(from 0deg at 70% 4.89%,transparent 0deg,transparent 131deg,#fff9e306 143deg,#fff9e31b 157deg,#fff9e30b 170deg,#fff9e31c 181deg,#fff9e30c 194deg,#fff9e31b 210deg,#fff9e309 224deg,transparent 239deg,transparent 360deg);-webkit-mask-image:linear-gradient(#000 0%,#000 20%,#000b 65%,#0005 100%);mask-image:linear-gradient(#000 0%,#000 20%,#000b 65%,#0005 100%)}
