.im-home .im-fan{background:var(--im-paper);color:var(--im-navy);padding:95px 0 65px;overflow:hidden}.im-fan>header{text-align:center;padding:0 20px}.im-fan h2{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(48px,6vw,90px);font-weight:400;letter-spacing:-.025em;margin-top:20px;line-height:.95}.im-fan h2 em{font-family:Georgia,serif;font-size:.87em;letter-spacing:-.065em}.fan-stage{--fan-width:clamp(210px,24vw,335px);height:620px;position:relative;margin:20px auto 0;max-width:1600px;touch-action:pan-y;isolation:isolate;user-select:none}.im-home .fan-card{position:absolute;width:var(--fan-width);height:calc(var(--fan-width)*1.4);top:45px;left:calc(50% - var(--fan-width)/2);border:0;border-radius:30px;padding:0;overflow:hidden;background:var(--line);transform-origin:50% 110%;transform:translateX(calc(var(--fan-offset)*var(--fan-width)*.32)) translateY(calc(var(--fan-depth)*20px)) rotate(calc(var(--fan-offset)*8deg)) scale(calc(1 - var(--fan-depth)*.065));transition:transform 700ms cubic-bezier(.65,0,.35,1),opacity 600ms cubic-bezier(.22,1,.36,1);box-shadow:0 15px 28px #081a3015;cursor:pointer;-webkit-tap-highlight-color:transparent}.fan-card img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.fan-card.fan-active{box-shadow:0 25px 50px #081a302d}.im-home .fan-card.fan-away{opacity:0;pointer-events:none}.im-home .fan-card:focus-visible{outline:4px solid var(--blue);outline-offset:6px}.im-ready .im-fan:not(.fan-entered) .fan-card{transform:translateY(110px) rotate(calc(var(--fan-offset)*2deg)) scale(.96);opacity:0}.fan-controls{position:relative;display:flex;align-items:center;justify-content:center;gap:15px;padding:0 20px}.im-home .fan-controls button{height:44px;min-width:44px;border:1px solid var(--ink);background:transparent;color:var(--im-navy);border-radius:50%;font-size:20px;transition:transform 200ms cubic-bezier(.22,1,.36,1),opacity 200ms cubic-bezier(.22,1,.36,1)}.fan-count{font-size:12px;min-width:48px;text-align:center;font-variant-numeric:tabular-nums}.im-home .fan-controls .fan-expand{font-size:11px;padding:0 18px;border-radius:30px;margin-left:15px}.im-home .fan-hint{text-align:center;margin-top:18px;color:var(--ink);font-size:12px}.im-home .fan-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:65px 5vw 30px;border:0;background:#081a30f5;overflow:auto}.fan-lightbox::backdrop{background:#081a30dd}.fan-lightbox img{width:100%;height:100%;object-fit:contain;display:block}.im-home .fan-lightbox button{position:fixed;right:25px;top:15px;background:var(--im-paper);color:#081a30;border:0;border-radius:50%;width:44px;height:44px;z-index:1}.im-still .im-fan .fan-card{transition:none!important}.im-still .im-fan:not(.fan-entered) .fan-card{opacity:1;transform:translateX(calc(var(--fan-offset)*var(--fan-width)*.32)) translateY(calc(var(--fan-depth)*20px)) rotate(calc(var(--fan-offset)*8deg)) scale(calc(1 - var(--fan-depth)*.065))}
@media(max-width:600px){.im-home .im-fan{padding-top:70px}.fan-stage{--fan-width:210px;height:405px;margin-top:30px}.im-home .fan-card{top:15px;border-radius:22px}.fan-controls{gap:10px;flex-wrap:wrap}.im-home .fan-controls .fan-expand{margin-left:0}.im-home .fan-hint{padding:0 25px;font-size:11px}.im-fan h2{font-size:52px}}

/* Galería: interacción táctil y de teclado; rotación automática conservada. */
@media(hover:hover) and (pointer:fine){.im-home .fan-controls button:hover{background:var(--im-navy);color:var(--im-paper)}.im-home .fan-card:hover img{opacity:.96}}
.im-home .fan-controls button:active{transform:scale(.97);transition-duration:120ms}
.fan-card img{transition:opacity 200ms cubic-bezier(.22,1,.36,1)}

/* Cursos USAC: tres ilustraciones del catálogo, una tarjeta activa y dos capas. */
.im-deck-stage{position:relative;width:min(680px,78vw);height:510px;margin:50px auto 12px;isolation:isolate;touch-action:pan-y}
.im-deck-card{position:absolute;inset:0 0 auto;background:var(--im-paper);color:var(--ink);border:1px solid var(--line);border-radius:24px;overflow:hidden;transform:translate(calc(var(--deck-depth)*20px),calc(var(--deck-depth)*10px)) rotate(calc(var(--deck-depth)*3deg)) scale(calc(1 - var(--deck-depth)*.045));transform-origin:50% 85%;transition:transform 700ms var(--im-ease-screen),opacity 600ms var(--im-ease-out);opacity:calc(1 - var(--deck-depth)*.15)}
.im-deck-card>img{width:100%;height:340px;object-fit:cover;display:block}
.im-deck-caption{padding:22px 26px;background:var(--im-paper)}
.im-deck-caption h3{margin:0 0 12px;font-size:24px}
.im-deck-caption>div{display:flex;align-items:center;justify-content:space-between;gap:16px}
.im-deck-caption .im-link{margin:0;display:inline-flex;align-items:center;min-height:44px}
.im-deck-instant .im-deck-card,.im-still .im-deck-card{transition:none!important}
.im-course-no-image{display:grid;place-items:center;background:var(--blue);color:var(--bg);min-height:100px}
.im-home:not(.im-ready) .im-deck-stage{height:auto;display:grid;gap:24px}
.im-home:not(.im-ready) .im-deck-card{position:relative;transform:none;opacity:1}
@media(max-width:600px){.im-deck-stage{width:78%;height:390px;margin-top:35px;margin-bottom:0}.im-deck-card>img{height:210px}.im-deck-caption{padding:16px}.im-deck-caption h3{font-size:24px}.im-deck-card{border-radius:18px;transform:translate(calc(var(--deck-depth)*10px),calc(var(--deck-depth)*8px)) rotate(calc(var(--deck-depth)*3deg)) scale(calc(1 - var(--deck-depth)*.045))}.im-deck-caption .im-link{gap:6px}.im-deck-caption>div{gap:8px}}
