.portal-body{min-height:100vh;background:var(--paper)}.portal-shell{width:min(1120px,calc(100% - 64px));margin:0 auto;padding:0 0 24px}.portal-topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.portal-topbar .brand{padding:0}.portal-status{display:flex;align-items:center;gap:8px;color:#7b8d81;font-size:9px;font-weight:700;letter-spacing:.13em}.portal-status i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px #e6f3e8}.portal-hero{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;min-height:345px;padding:22px 40px 7px;background:#f0edff;border:1px solid #e2ddf7;border-radius:25px;margin-top:24px;overflow:hidden}.portal-copy{position:relative;z-index:1}.portal-copy h1{font-size:clamp(43px,6vw,67px);line-height:.95;margin:16px 0;color:var(--ink)}.portal-copy h1 em{font-style:normal;color:#7665c8}.portal-copy>p{max-width:410px;color:#686c89;font-size:14px;line-height:1.7}.portal-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px}.portal-art svg{max-width:100%;width:440px;height:auto;overflow:visible}.portal-printer{animation:print 2.4s ease-in-out infinite alternate;transform-origin:center}.art-caption{position:absolute;right:4%;bottom:12px;display:flex;align-items:center;gap:8px;color:#7e80a0;font-size:9px;letter-spacing:.14em;font-weight:700}.caption-dot{width:7px;height:7px;background:var(--mint);border-radius:50%}.tool-section{padding-top:28px}.tool-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.tool-heading h2{font-size:24px;margin:5px 0 0}.tool-count{font-size:9px;letter-spacing:.11em;font-weight:700;color:#9193a6}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tool-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:260px;padding:19px 22px 22px;border:1px solid var(--line);border-radius:20px;background:var(--white);box-shadow:var(--shadow);overflow:hidden}.course-tool{background:#fffefa}.studio-tool{background:#fcfffc}.tool-card-top{display:flex;justify-content:space-between;width:100%;align-items:center}.tool-tag{font-size:9px;font-weight:700;letter-spacing:.13em;color:#827eaa}.tool-index{font-family:'Space Grotesk',Arial,sans-serif;color:#aaaabd;font-size:10px}.tool-illustration{position:absolute;right:25px;top:43px;width:130px;height:107px;border-radius:23px;display:grid;place-items:center}.tool-illustration svg{width:120px;max-height:100px}.course-illustration{background:#f0edff}.studio-illustration{background:#e9f5ed}.tool-card h3{font-size:21px;margin:14px 140px 6px 0}.tool-card p{max-width:440px;min-height:49px;color:#787c96;font-size:11px;line-height:1.65;margin:0 0 15px}.tool-card .button{min-height:41px}.portal-footnote{display:flex;align-items:center;gap:9px;margin:16px 3px 0;color:#817e70;font-size:10px}.portal-footnote>span{width:17px;height:17px;display:grid;place-items:center;border:1px solid #d8c7a1;border-radius:50%;font-size:9px;color:#987d4c;flex:none}.portal-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:25px;padding:17px 2px 0;color:#999bad;font-size:8px;font-weight:700;letter-spacing:.11em}.portal-footer span:last-child{letter-spacing:0;font-size:10px;font-weight:500}.portal-footer .footer-star{color:#c8a24b}
@media(max-width:760px){.portal-shell{width:min(100% - 32px,600px)}.portal-hero{grid-template-columns:1fr;min-height:0;padding:25px 24px 5px;margin-top:15px}.portal-copy h1{font-size:48px}.portal-copy>p{font-size:12px;margin-bottom:0}.portal-art{min-height:235px;margin-top:3px}.portal-art svg{width:350px}.tool-section{padding-top:22px}.tool-heading h2{font-size:21px}.tool-count{font-size:7px;text-align:right}.tool-grid{grid-template-columns:1fr;gap:11px}.tool-card{min-height:230px;padding:17px}.tool-card h3{font-size:19px;margin-top:11px}.portal-footer{font-size:7px}.portal-footer span:last-child{font-size:9px}}
@media(max-width:420px){.portal-status{font-size:7px;letter-spacing:.06em}.portal-copy h1{font-size:42px}.portal-hero{padding:22px 18px 4px}.portal-art{min-height:205px}.tool-card{min-height:255px}.tool-illustration{right:15px;width:100px;height:90px}.tool-illustration svg{width:96px}.tool-card h3{margin-right:90px;font-size:17px}.tool-card p{font-size:10px}.portal-footnote{align-items:flex-start;line-height:1.5}.portal-footer{gap:8px}.portal-footer span:last-child{text-align:right}}

.games-tool{grid-column:1/-1;background:#fffaf4;min-height:215px}.games-illustration{background:#fff0eb}
/* Escaparate del taller (logo grande) */
.portal-showcase{margin-top:22px;padding:26px 30px;border:1.5px solid #ecdcc9;border-radius:var(--round);background-color:#fffaf2;background-image:var(--layer-lines);box-shadow:var(--extrude);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.8fr);gap:26px;align-items:center}
.showcase-logo{display:block;text-decoration:none;transition:transform .2s ease}
.showcase-logo:hover{transform:translateY(-3px) rotate(-.6deg)}
.showcase-copy p{font-size:15px;line-height:1.55;color:var(--ink-soft);margin:8px 0 16px}
.showcase-button{min-height:50px;font-size:14px}
@media(max-width:760px){.portal-showcase{grid-template-columns:1fr;padding:18px 16px;gap:12px}}
