/* Páginas públicas de la academia: certificado, invitación y trabajos de alumnos. Usan los colores del portal. */
.ap-main{display:grid;gap:20px;max-width:760px;margin:0 auto;padding:24px max(16px,env(safe-area-inset-left,0px)) 48px max(16px,env(safe-area-inset-right,0px))}
.ap-trabajos{max-width:1120px}
.ap-card h1,.ap-card h2{margin:.2rem 0 .6rem;text-wrap:balance}
.ap-card p{line-height:1.55}
.ap-card form{display:grid;gap:12px}
.ap-small{font-size:.875rem}
.ap-actions{display:flex;flex-wrap:wrap;gap:10px}
.ap-actions .pt-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.ap-offer{font-size:1.15rem;padding:.8rem 1rem;border-radius:1rem;border:1px solid var(--border-brand,rgba(38,198,218,.4));background:var(--brand-soft,rgba(38,198,218,.08))}
.ap-offer b{color:var(--brand-light,var(--brand))}
/* Certificado */
.ap-cert{position:relative;display:grid;justify-items:center;text-align:center;gap:6px;padding:clamp(1.5rem,1rem + 4vw,3.5rem) clamp(1rem,.5rem + 3vw,3rem);border-radius:1.5rem;border:1px solid var(--border-strong);
 background:radial-gradient(120% 80% at 50% 0%,rgba(38,198,218,.12),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));box-shadow:0 40px 120px -50px rgba(38,198,218,.45)}
.ap-cert::before{content:"";position:absolute;inset:10px;border-radius:1.1rem;border:1px solid rgba(38,198,218,.22);pointer-events:none}
.ap-cert-brand{margin:0 0 .6rem;font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--brand-light,var(--brand))}
.ap-cert-lead{margin:0;color:var(--text-muted)}
.ap-cert-name{margin:.1rem 0 .3rem;font-family:var(--font-display,inherit);font-size:clamp(1.9rem,1.2rem + 3vw,3rem);letter-spacing:-.03em;line-height:1.05;text-wrap:balance}
.ap-cert-course{margin:.1rem 0 1rem;font-size:clamp(1.1rem,.9rem + 1vw,1.45rem);text-wrap:balance}
.ap-cert-data{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;margin:0}
.ap-cert-data div{display:grid;gap:2px}.ap-cert-data dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.ap-cert-data dd{margin:0;font-weight:600}
.ap-cert-badges{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:1rem 0 0;padding:0}
.ap-cert-badges li{padding:.35rem .8rem;border-radius:999px;border:1px solid rgba(38,198,218,.45);color:var(--brand-light,var(--brand));font-size:.85rem;font-weight:600}
.ap-cert-check{margin:1.2rem 0 0;font-size:.85rem;color:var(--text-muted)}.ap-cert-check span{color:var(--ok,#20bd88);font-weight:700}
/* Trabajos */
.ap-hero{display:grid;gap:6px;padding:8px 0}
.ap-hero h1{margin:.2rem 0 0;font-family:var(--font-display,inherit);font-size:clamp(2rem,1.3rem + 3vw,3.2rem);letter-spacing:-.03em;line-height:1.05;text-wrap:balance}
.ap-works{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:18px}
.ap-work{display:grid;align-content:start;gap:0;padding:0;overflow:hidden}
.ap-work-photos{display:grid;gap:2px;background:#000}.ap-work-photos.many{grid-template-columns:1fr 1fr}.ap-work-photos.many img:first-child{grid-column:1/-1}
.ap-work-photos img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;max-width:100%}
.ap-work-body{padding:16px 18px 18px;min-width:0}.ap-work-body h2{margin:0 0 4px;font-size:1.15rem}.ap-work-body p{margin:.4rem 0 0;line-height:1.5}
.ap-work-meta{color:var(--text-muted);font-size:.85rem}
.ap-cta{text-align:center}.ap-cta .pt-actions{justify-content:center}
