@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap");
:root{--bg:#07070c;--panel:#14141d;--panel2:#1b1b27;--text:#f7f2ec;--muted:#b7b0c4;--line:rgba(255,255,255,.12);--accent:#ffcc00;--accent2:#ff4da6;--accent3:#00b4ff;--danger:#ff6b6b;--radius:26px;--shadow:0 30px 90px rgba(0,0,0,.38)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at 8% 10%,rgba(255,204,0,.22),transparent 28%),radial-gradient(circle at 88% 2%,rgba(255,77,166,.20),transparent 30%),radial-gradient(circle at 50% 82%,rgba(0,180,255,.14),transparent 38%),var(--bg);color:var(--text);overflow-x:hidden}a{color:inherit}.public-page img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.noise{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.site-loader{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:#07070c;animation:loaderOut .9s ease 1.15s forwards}.site-loader span{font-size:clamp(2rem,7vw,6rem);font-weight:950;letter-spacing:-.08em;background:linear-gradient(90deg,var(--accent),var(--accent2),var(--accent3));-webkit-background-clip:text;background-clip:text;color:transparent;animation:loaderText .9s cubic-bezier(.2,.8,.2,1) both}.hero{position:relative;max-width:1220px;margin:0 auto;padding:92px 24px 52px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:54px;align-items:center;z-index:2}.scene{--px:0px;--py:0px}.eyebrow{display:inline-flex;margin:0 0 14px;padding:7px 13px;border:1px solid var(--line);border-radius:999px;color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;background:rgba(255,255,255,.04);backdrop-filter:blur(12px)}.eyebrow--small{margin-bottom:10px}.hero h1{position:relative;font-size:clamp(3rem,9vw,8.4rem);line-height:.82;margin:0;letter-spacing:-.09em;text-wrap:balance}.glitch::before,.glitch::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;opacity:.38}.glitch::before{color:var(--accent2);transform:translate(3px,0);clip-path:polygon(0 18%,100% 13%,100% 33%,0 38%);animation:glitch 5.4s infinite}.glitch::after{color:var(--accent3);transform:translate(-3px,0);clip-path:polygon(0 64%,100% 58%,100% 79%,0 84%);animation:glitch 6.1s infinite reverse}.hero h2{font-size:clamp(1.25rem,3vw,2.05rem);font-weight:650;color:var(--muted);margin:24px 0}.bio{max-width:700px;font-size:1.1rem;line-height:1.75;color:#ded8e7}.hero__tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.hero__tags span{border:1px solid var(--line);background:rgba(255,255,255,.06);border-radius:999px;padding:9px 12px;color:#efeaf5;font-weight:750;font-size:.9rem}.hero__photo{position:relative;margin:0;aspect-ratio:1;border-radius:42px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(145deg,var(--panel),var(--panel2));transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) rotate(2deg) translate(calc(var(--px) * -.35),calc(var(--py) * -.35));transition:transform .18s ease,border-color .2s ease}.hero__photo::before{content:"";position:absolute;inset:-2px;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.45),transparent 28%);opacity:.0;transition:opacity .2s;z-index:1}.hero__photo:hover::before{opacity:.26}.hero__photo::after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.18);border-radius:32px;z-index:2;pointer-events:none}.hero__photo img{width:100%;height:100%;object-fit:cover;filter:saturate(1.06) contrast(1.04)}.orb{position:absolute;border-radius:999px;filter:blur(4px);opacity:.65;z-index:-1;animation:floaty 8s ease-in-out infinite}.orb--one{width:180px;height:180px;right:310px;top:82px;background:radial-gradient(circle,var(--accent2),transparent 67%);transform:translate(var(--px),var(--py))}.orb--two{width:130px;height:130px;left:0;bottom:20px;background:radial-gradient(circle,var(--accent3),transparent 70%);animation-delay:-2s}.sketch-line{position:absolute;border:2px solid rgba(255,255,255,.14);border-left:0;border-bottom:0;pointer-events:none;z-index:-1}.sketch-line--one{width:180px;height:95px;right:14px;top:50px;border-radius:50%;transform:rotate(-18deg) translate(calc(var(--px) * .5),calc(var(--py) * .5))}.sketch-line--two{width:240px;height:140px;left:22%;bottom:0;border-radius:50%;transform:rotate(15deg)}.wrap{position:relative;max-width:1220px;margin:0 auto;padding:24px;z-index:2}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:34px;margin-bottom:22px}.section-title h2{font-size:clamp(2rem,4vw,3.5rem);margin:0;letter-spacing:-.05em}.section-title p{color:var(--muted);margin:0 0 8px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;perspective:1200px}.card{--rx:0deg;--ry:0deg;appearance:none;position:relative;border:0;padding:0;margin:0;text-align:left;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid var(--line);border-radius:28px;overflow:hidden;color:var(--text);cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.20);transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(0);transition:transform .18s ease,border-color .22s ease,box-shadow .22s ease}.card:hover{border-color:rgba(255,204,0,.58);box-shadow:0 22px 70px rgba(0,0,0,.35)}.card::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,204,0,.0),rgba(255,77,166,.13),rgba(0,180,255,.12));opacity:0;transition:opacity .25s;pointer-events:none}.card:hover::after{opacity:1}.card__shine{position:absolute;inset:-40%;z-index:3;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.34),transparent 26%);opacity:0;transition:opacity .18s;pointer-events:none}.card:hover .card__shine{opacity:.9}.card img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;pointer-events:none;transition:transform .55s cubic-bezier(.16,1,.3,1),filter .35s ease;filter:saturate(1.02) contrast(1.02)}.card:hover img{transform:scale(1.07);filter:saturate(1.15) contrast(1.07)}.card__meta{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:end;justify-content:space-between;gap:14px;padding:14px 15px;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:rgba(7,7,12,.58);backdrop-filter:blur(16px);z-index:4}.card__meta strong{font-weight:900}.card__meta small{color:var(--accent);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;white-space:nowrap}.empty{padding:48px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);text-align:center}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:60;display:grid;place-items:center;padding:64px 24px;opacity:0;visibility:hidden;transition:opacity .24s ease,visibility .24s ease;backdrop-filter:blur(18px)}.lightbox.is-open{opacity:1;visibility:visible}.lightbox img{max-width:min(96vw,1500px);max-height:82vh;object-fit:contain;pointer-events:none;filter:drop-shadow(0 30px 80px rgba(0,0,0,.78));transform:scale(.96) translateY(10px);transition:transform .28s cubic-bezier(.16,1,.3,1)}.lightbox.is-open img{transform:scale(1) translateY(0)}.lightbox__close{position:absolute;right:24px;top:20px;width:50px;height:50px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.09);color:white;font-size:34px;cursor:pointer}.lightbox__caption{position:absolute;left:24px;right:24px;bottom:20px;text-align:center;color:white}.lightbox__caption strong{font-size:1.1rem}.lightbox__caption p{margin:6px 0 0;color:#cfcfcf}.footer{text-align:center;color:var(--muted);padding:56px 24px}.reveal{opacity:0;transform:translateY(24px) scale(.985);filter:blur(8px);transition:opacity .75s ease,transform .75s cubic-bezier(.16,1,.3,1),filter .75s ease;transition-delay:calc(var(--i,0) * 45ms)}.reveal.is-visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.login-page,.panel-page{min-height:100vh}.login-card,.box{background:rgba(20,20,29,.82);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(14px)}.login-card{width:min(430px,calc(100% - 32px));margin:9vh auto;padding:30px}.login-card h1,.box h2{margin-top:0}.stack{display:grid;gap:14px}label{display:grid;gap:7px;color:var(--muted);font-weight:700}input,textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:#0f0f16;color:var(--text);padding:13px 14px;font:inherit}textarea{resize:vertical}button,.panel-top a{border:0;border-radius:14px;background:linear-gradient(135deg,var(--accent),#fff1a1);color:#111;padding:13px 16px;font-weight:900;text-decoration:none;cursor:pointer}.alert{background:rgba(255,107,107,.13);border:1px solid rgba(255,107,107,.35);color:#ffd0d0;padding:12px;border-radius:14px}.panel-top{max-width:1180px;margin:0 auto;padding:30px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}.panel-top h1{margin:0}.panel-top p{margin:6px 0 0;color:var(--muted)}.panel-top nav{display:flex;gap:10px;flex-wrap:wrap}.panel-grid{max-width:1180px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.box{padding:24px}.profile-preview{width:120px;height:120px;border-radius:24px;object-fit:cover;border:1px solid var(--line)}.works-box{max-width:1132px;margin:18px auto 50px}.box-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.box-head p{color:var(--muted);margin:.3rem 0 0}.admin-items{display:grid;gap:12px;margin-top:18px}.admin-item{display:grid;grid-template-columns:86px 1fr auto;gap:16px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:18px;background:#0f0f16;cursor:grab}.admin-item.dragging{opacity:.45}.admin-item img{width:86px;height:86px;object-fit:cover;border-radius:14px}.admin-item p{margin:.25rem 0 0;color:var(--muted)}.danger{background:transparent;color:var(--danger);border:1px solid rgba(255,107,107,.45)}@keyframes loaderText{from{opacity:0;transform:translateY(26px) scale(.95);filter:blur(12px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes loaderOut{to{opacity:0;visibility:hidden;pointer-events:none}}@keyframes floaty{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(18px,-22px) scale(1.08)}}@keyframes glitch{0%,88%,100%{opacity:.0;transform:translate(0)}89%{opacity:.36;transform:translate(4px,-2px)}91%{opacity:.20;transform:translate(-4px,2px)}93%{opacity:.38;transform:translate(2px,1px)}}@media(max-width:760px){.hero{grid-template-columns:1fr;padding-top:58px}.hero__photo{max-width:280px}.section-title,.panel-top,.box-head{align-items:flex-start;flex-direction:column}.panel-grid{grid-template-columns:1fr}.admin-item{grid-template-columns:70px 1fr}.admin-item form{grid-column:1/-1}.admin-item img{width:70px;height:70px}.gallery{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.card__meta{position:relative;left:auto;right:auto;bottom:auto;border:0;border-radius:0;background:rgba(7,7,12,.8)}.card img{aspect-ratio:4/5}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.site-loader{display:none}.reveal{opacity:1;transform:none;filter:none}}

/* Soporte para trabajos en video MP4 */
.public-page img,.public-page video{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.card video{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;pointer-events:none;transition:transform .55s cubic-bezier(.16,1,.3,1),filter .35s ease;filter:saturate(1.04) contrast(1.04);background:#090910}
.card:hover video{transform:scale(1.07);filter:saturate(1.15) contrast(1.07)}
.card--video::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.52));pointer-events:none}
.play-badge{position:absolute;top:14px;right:14px;z-index:5;width:46px;height:46px;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(7,7,12,.62);backdrop-filter:blur(12px);color:#fff;font-size:18px;box-shadow:0 12px 30px rgba(0,0,0,.28)}
.lightbox video{max-width:min(96vw,1500px);max-height:82vh;object-fit:contain;filter:drop-shadow(0 30px 80px rgba(0,0,0,.78));border-radius:18px;background:#000;transform:scale(.96) translateY(10px);transition:transform .28s cubic-bezier(.16,1,.3,1)}
.lightbox.is-open video{transform:scale(1) translateY(0)}
.lightbox img[style*="none"] + video{display:block}
.help-text{margin:-2px 0 2px;color:var(--muted);font-size:.88rem;line-height:1.45}
.admin-video-thumb{position:relative;width:86px;height:86px;border-radius:14px;overflow:hidden;background:#050509;border:1px solid var(--line)}
.admin-video-thumb video{width:100%;height:100%;object-fit:cover;display:block}
.admin-video-thumb span{position:absolute;right:6px;bottom:6px;padding:3px 6px;border-radius:999px;background:rgba(0,0,0,.65);color:#fff;font-size:.68rem;font-weight:900;letter-spacing:.06em}
@media(max-width:760px){.card video{aspect-ratio:4/5}.admin-video-thumb{width:70px;height:70px}}
