:root{--color-primary: #7c3aed;--color-primary-dark: #5b21b6;--color-secondary: #ec4899;--color-accent: #f59e0b;--color-cyan: #22d3ee;--color-bg: #0f0b1e;--color-bg-soft: #181228;--color-surface: #1f1735;--color-surface-hover: #2a1f47;--color-border: #3b2d63;--color-text: #f5f3ff;--color-text-muted: #b8aed6;--color-text-caption: #8d80b5;--color-success: #34d399;--color-error: #f87171;--color-warning: #fbbf24;--gradient-hype: linear-gradient(135deg, #7c3aed 0%, #ec4899 50%, #f59e0b 100%);--gradient-cool: linear-gradient(135deg, #22d3ee 0%, #7c3aed 100%);--gradient-surface: linear-gradient(180deg, rgba(124, 58, 237, .16) 0%, rgba(15, 11, 30, 0) 100%);--gradient-text: linear-gradient(90deg, #a78bfa 0%, #f472b6 50%, #fbbf24 100%);--font-heading: "Sora", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.75rem;--text-4xl: 3.75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-full: 999px;--shadow-glow: 0 0 40px rgba(124, 58, 237, .35);--shadow-card: 0 12px 32px rgba(0, 0, 0, .4);--container: 1180px;--brand-logo-size: 36px;--brand-ring: 3px;--brand-name-size: 1.25rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--color-text);background-color:#060410;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none}input,select,textarea{font-family:inherit}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.15;letter-spacing:-.02em}.text-gradient{background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent}.caption{font-size:var(--text-sm);color:var(--color-text-caption)}.section-tag{display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--color-cyan);margin-bottom:var(--space-3)}.section-title{font-size:clamp(var(--text-2xl),4vw,var(--text-3xl));margin-bottom:var(--space-3)}.section-subtitle{color:var(--color-text-muted);max-width:640px;margin-bottom:var(--space-8)}.container{width:min(var(--container),92vw);margin-inline:auto}section{padding-block:var(--space-16)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:.8rem 1.7rem;border-radius:var(--radius-full);font-weight:600;font-size:var(--text-base);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn-primary{background:var(--gradient-hype);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 56px #ec489973}.btn-ghost{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-surface);border-color:var(--color-primary)}.btn-sm{padding:.5rem 1.1rem;font-size:var(--text-sm)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.header{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f0b1ec7;border-bottom:1px solid rgba(59,45,99,.5)}.header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-4);padding-block:var(--space-3);min-height:64px}.brand{display:flex;align-items:center;gap:var(--space-3);line-height:1;flex-shrink:0;min-width:0}.brand-badge{display:inline-grid;place-items:center;flex-shrink:0;width:calc(var(--brand-logo-size) + var(--brand-ring) * 2);height:calc(var(--brand-logo-size) + var(--brand-ring) * 2);padding:var(--brand-ring);border-radius:var(--radius-full);background:#2563eb;box-shadow:0 0 18px #2563eb73;transition:box-shadow .2s ease,transform .2s ease;box-sizing:border-box}.brand:hover .brand-badge{box-shadow:0 0 26px #22d3ee8c;transform:scale(1.05)}.brand-logo{display:block;width:var(--brand-logo-size);height:var(--brand-logo-size);border-radius:var(--radius-full);object-fit:contain;object-position:center;background:#f5f3ff;image-rendering:auto}.brand-badge-sm{--brand-logo-size: 32px;--brand-ring: 2px}.brand-name{font-family:var(--font-heading);font-weight:800;font-size:var(--brand-name-size);line-height:1;color:#fff;white-space:nowrap}.brand-name span{color:#fff}.nav{justify-self:center;display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted)}.nav a{display:inline-flex;align-items:center;height:38px;padding-inline:var(--space-3);border-radius:var(--radius-full);line-height:1;transition:color .15s ease,background .15s ease}.nav a:hover{color:var(--color-text);background:#7c3aed26}.header-actions{justify-self:end;display:flex;align-items:center;gap:var(--space-3)}.header-actions .btn{height:38px;align-items:center}.carousel{padding-block:var(--space-8) var(--space-16)}.carousel .container{width:min(1400px,96vw)}.carousel-frame{position:relative;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card)}.carousel-track{display:flex;transition:transform .55s cubic-bezier(.4,0,.2,1);will-change:transform}.carousel-slide{position:relative;flex:0 0 100%;margin:0}.carousel-slide-link{display:block;color:inherit;text-decoration:none;cursor:pointer}.carousel-slide-link:hover .carousel-caption-link{color:var(--color-cyan)}.carousel-slide-link:focus-visible{outline:2px solid var(--color-cyan);outline-offset:-2px}.carousel-slide img{width:100%;height:clamp(360px,58vw,660px);object-fit:cover;object-position:top center;display:block}.carousel-caption{position:absolute;inset-inline:0;bottom:0;display:flex;flex-direction:column;gap:2px;padding:var(--space-6) var(--space-6) var(--space-8);background:linear-gradient(180deg,transparent 0%,rgba(6,4,16,.88) 78%)}.carousel-caption strong{font-family:var(--font-heading);font-size:var(--text-lg);color:#fff}.carousel-caption span{font-size:var(--text-sm);color:var(--color-text-muted)}.carousel-caption-link{margin-top:var(--space-2);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#c4b5fd;transition:color .2s ease}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:var(--radius-full);display:grid;place-items:center;font-size:1.8rem;line-height:1;color:#fff;background:#0f0b1e99;border:1px solid var(--color-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .15s ease,transform .15s ease}.carousel-arrow:hover{background:var(--color-primary);transform:translateY(-50%) scale(1.08)}.carousel-arrow.prev{left:var(--space-4)}.carousel-arrow.next{right:var(--space-4)}.carousel-dots{position:absolute;inset-inline:0;bottom:var(--space-3);display:flex;justify-content:center;gap:var(--space-2)}.carousel-dots .dot{width:10px;height:10px;border-radius:var(--radius-full);background:#ffffff59;transition:background .2s ease,width .2s ease}.carousel-dots .dot.active{width:26px;background:var(--gradient-hype)}.carousel-cta{display:flex;justify-content:center;margin-top:var(--space-8)}.btn-portfolio{font-size:var(--text-lg);font-weight:700;padding:1rem 2.6rem;letter-spacing:.04em;animation:portfolio-float 4s ease-in-out infinite,portfolio-pulse 2.2s ease-in-out infinite}.btn-portfolio:hover{animation-play-state:paused;transform:translateY(-4px) scale(1.06)}@keyframes portfolio-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes portfolio-pulse{0%,to{box-shadow:0 0 24px #7c3aed73}50%{box-shadow:0 0 52px #ec4899bf,0 0 90px #f59e0b59}}@media (prefers-reduced-motion: reduce){.btn-portfolio{animation:none}}.hero{position:relative;padding-block:var(--space-16);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:var(--space-12)}.hero-slogan{font-size:var(--text-sm);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--color-secondary);margin-bottom:var(--space-4)}.hero-title{font-size:clamp(var(--text-3xl),6vw,var(--text-4xl));font-weight:800;margin-bottom:var(--space-6)}.hero-text{font-size:var(--text-lg);color:var(--color-text-muted);max-width:540px;margin-bottom:var(--space-8)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-4)}.hero-stats{display:flex;gap:var(--space-8);margin-top:var(--space-12)}.hero-stat strong{display:block;font-family:var(--font-heading);font-size:var(--text-xl);background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-stat span{font-size:var(--text-xs);color:var(--color-text-caption);text-transform:uppercase;letter-spacing:.1em}.hero-art{position:relative;display:grid;place-items:center}.space-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(1000px 600px at 80% -10%,rgba(124,58,237,.2),transparent 60%),radial-gradient(800px 500px at -10% 40%,rgba(236,72,153,.1),transparent 60%),radial-gradient(circle at 50% 50%,#0d0823,#080516 55%,#030208)}.stars{position:absolute;top:-60%;right:-60%;bottom:-60%;left:-60%;background-repeat:repeat;will-change:transform}.stars-far{background-image:radial-gradient(1px 1px at 25px 35px,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 110px 80px,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 60px 140px,rgba(196,181,253,.6),transparent),radial-gradient(1px 1px at 160px 40px,rgba(255,255,255,.45),transparent),radial-gradient(1px 1px at 140px 170px,rgba(255,255,255,.55),transparent);background-size:190px 190px;opacity:.7;animation:star-spin 160s linear infinite}.stars-mid{background-image:radial-gradient(1.5px 1.5px at 40px 60px,rgba(255,255,255,.9),transparent),radial-gradient(1.5px 1.5px at 170px 120px,rgba(165,243,252,.8),transparent),radial-gradient(1.5px 1.5px at 100px 200px,rgba(255,255,255,.75),transparent),radial-gradient(1.5px 1.5px at 220px 30px,rgba(255,255,255,.8),transparent),radial-gradient(1.5px 1.5px at 60px 150px,rgba(196,181,253,.85),transparent);background-size:260px 260px;opacity:.85;animation:star-spin 100s linear infinite reverse,star-twinkle 4s ease-in-out infinite}.stars-near{background-image:radial-gradient(2.5px 2.5px at 70px 90px,#ffffff,transparent),radial-gradient(2px 2px at 200px 160px,rgba(165,243,252,.95),transparent),radial-gradient(2.5px 2.5px at 130px 250px,#ffffff,transparent),radial-gradient(2px 2px at 280px 60px,rgba(253,230,138,.9),transparent);background-size:330px 330px;animation:star-spin 60s linear infinite,star-twinkle 2.6s ease-in-out infinite}@keyframes star-spin{to{transform:rotate(360deg)}}@keyframes star-twinkle{0%,to{opacity:1}50%{opacity:.55}}.hero-globe-link{position:relative;display:inline-block;border-radius:50%;transition:transform .25s ease,filter .25s ease}.hero-globe-link:hover{transform:scale(1.05);filter:brightness(1.12)}.hero-globe-link:focus-visible{outline:3px solid var(--color-cyan);outline-offset:6px}.hero-globe{display:block;width:min(300px,68vw);filter:drop-shadow(0 18px 48px rgba(124,58,237,.55));animation:globe-float 5s ease-in-out infinite}@keyframes globe-float{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}@media (prefers-reduced-motion: reduce){.hero-globe,.stars{animation:none}}.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-4)}.category-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);text-align:center;transition:transform .2s ease,border-color .2s ease,background .2s ease}.category-card:hover{transform:translateY(-4px);border-color:var(--color-primary);background:var(--color-surface-hover)}.category-emoji{font-size:2.2rem;display:block;margin-bottom:var(--space-3)}.category-card h3{font-size:var(--text-base);margin-bottom:var(--space-1)}.category-card p{font-size:var(--text-xs);color:var(--color-text-caption)}.trending-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6)}.trend-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.trend-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card)}.trend-cover{height:150px;display:grid;place-items:center;font-size:3rem;background:var(--gradient-surface),var(--color-bg-soft);border-bottom:1px solid var(--color-border)}.trend-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);flex:1}.trend-tag{align-self:flex-start;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:.25rem .7rem;border-radius:var(--radius-full);background:#7c3aed2e;color:#c4b5fd}.trend-body h3{font-size:var(--text-lg)}.trend-body p{font-size:var(--text-sm);color:var(--color-text-muted);flex:1}.trend-meta{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--color-text-caption);border-top:1px solid var(--color-border);padding-top:var(--space-3)}.portfolio-groups{display:flex;flex-direction:column;gap:var(--space-8)}.portfolio-fieldset{border:none;padding:0;margin:0}.portfolio-fieldset--group{border:1px solid rgba(124,58,237,.45);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6) var(--space-6);background:linear-gradient(145deg,#7c3aed1f,#ec48990f,#0f0b1e66);box-shadow:inset 0 1px #ffffff0f,0 8px 32px #7c3aed26}.portfolio-fieldset--group:nth-of-type(2){border-color:#ec489973;background:linear-gradient(145deg,#ec48991f,#f59e0b0f,#0f0b1e66);box-shadow:inset 0 1px #ffffff0f,0 8px 32px #ec48991f}.portfolio-fieldset--group:nth-of-type(3){border-color:#f59e0b73;background:linear-gradient(145deg,#f59e0b1a,#7c3aed0d,#0f0b1e66);box-shadow:inset 0 1px #ffffff0f,0 8px 32px #f59e0b1a}.portfolio-fieldset--group:nth-of-type(4){border-color:#22d3ee73;background:linear-gradient(145deg,#22d3ee1a,#7c3aed0d,#0f0b1e66);box-shadow:inset 0 1px #ffffff0f,0 8px 32px #22d3ee1a}.portfolio-fieldset--group:nth-of-type(5){border-color:#a78bfa73;background:linear-gradient(145deg,#a78bfa1f,#ec48990d,#0f0b1e66);box-shadow:inset 0 1px #ffffff0f,0 8px 32px #a78bfa1f}.portfolio-legend{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:700;color:var(--color-cyan);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-4);padding:0 var(--space-2);float:none;width:auto}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6)}.portfolio-grid--group{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 960px){.portfolio-grid--group{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}.portfolio-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.portfolio-card:hover{transform:translateY(-6px);border-color:var(--color-primary);box-shadow:var(--shadow-card),0 0 32px #7c3aed40}.portfolio-cover{overflow:hidden;border-bottom:1px solid var(--color-border)}.portfolio-cover img{width:100%;height:190px;object-fit:cover;object-position:top center;transition:transform .35s ease}.portfolio-card:hover .portfolio-cover img{transform:scale(1.06)}.portfolio-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}.portfolio-body h3{font-size:var(--text-lg)}.portfolio-body p{font-size:var(--text-sm);color:var(--color-text-muted)}.portfolio-badge{align-self:flex-start;margin-top:var(--space-2);font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .8rem;border-radius:var(--radius-full);background:#22d3ee24;color:var(--color-cyan)}.enroll{background:var(--gradient-surface);border-block:1px solid var(--color-border)}.enroll-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}.enroll-info{justify-self:center;width:100%;max-width:420px}.enroll-info .section-subtitle{max-width:none;margin-bottom:var(--space-6)}.enroll-info ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-6)}.enroll-info li{display:flex;gap:var(--space-3);align-items:flex-start;color:var(--color-text-muted);font-size:var(--text-sm)}.enroll-info li strong{color:var(--color-text)}.form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-card)}.form-card h3{font-size:var(--text-xl);margin-bottom:var(--space-2)}.form-card>p{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-6)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field.full{grid-column:1 / -1}.field label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}.field input,.field select{background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.7rem .9rem;color:var(--color-text);font-size:var(--text-sm);transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #7c3aed40}.field input.invalid{border-color:var(--color-error)}.field-error{font-size:var(--text-xs);color:var(--color-error);min-height:1em}.field-hint{font-size:var(--text-xs);color:var(--color-text-caption)}.checkbox-row{grid-column:1 / -1;display:flex;gap:var(--space-2);align-items:flex-start;font-size:var(--text-sm);color:var(--color-text-muted)}.checkbox-row input{margin-top:4px;accent-color:var(--color-primary)}.form-actions{grid-column:1 / -1;display:flex;gap:var(--space-4);margin-top:var(--space-2)}.password-strength{display:flex;gap:var(--space-1);margin-top:var(--space-1)}.password-strength span{height:4px;flex:1;border-radius:var(--radius-full);background:var(--color-border);transition:background .2s ease}.password-strength span.on-weak{background:var(--color-error)}.password-strength span.on-mid{background:var(--color-warning)}.password-strength span.on-strong{background:var(--color-success)}.success-card{text-align:center;padding:var(--space-8)}.success-card .avatar{width:88px;height:88px;margin:0 auto var(--space-4);border-radius:var(--radius-full);display:grid;place-items:center;font-size:2.4rem;background:var(--gradient-hype);box-shadow:var(--shadow-glow)}.success-card h3{font-size:var(--text-xl);margin-bottom:var(--space-2)}.matricula-badge{display:inline-block;font-family:var(--font-heading);font-weight:700;font-size:var(--text-lg);letter-spacing:.08em;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);border:1px dashed var(--color-primary);background:#7c3aed1f;color:#c4b5fd;margin-block:var(--space-4)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#080514bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:var(--space-4)}.modal{width:min(420px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-card);animation:modal-in .22s ease}@keyframes modal-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.modal-close{background:transparent;color:var(--color-text-caption);font-size:var(--text-xl);line-height:1}.modal-close:hover{color:var(--color-text)}.modal form{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}.login-feedback{font-size:var(--text-sm);border-radius:var(--radius-sm);padding:var(--space-3)}.login-feedback.error{background:#f871711f;color:var(--color-error)}.login-feedback.success{background:#34d3991f;color:var(--color-success)}.modal .caption a{color:var(--color-cyan);font-weight:600}.footer{border-top:1px solid var(--color-border);padding-block:var(--space-12);background:#181228b8}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-8)}.footer h4{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);margin-bottom:var(--space-4)}.footer ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-caption)}.footer ul a:hover{color:var(--color-text)}.footer-brand p{font-size:var(--text-sm);color:var(--color-text-caption);max-width:280px;margin-top:var(--space-3)}.footer-bottom{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-caption)}@media (max-width: 900px){:root{--brand-logo-size: 32px;--brand-name-size: 1.125rem}.header-inner{grid-template-columns:1fr auto;gap:var(--space-3)}.hero-grid,.enroll-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.nav{display:none}}@media (max-width: 560px){:root{--brand-logo-size: 28px;--brand-name-size: 1rem;--brand-ring: 2px}.header-inner{min-height:56px;padding-block:var(--space-2)}.brand,.header-actions{gap:var(--space-2)}.header-actions .btn-sm{padding:.5rem .85rem;font-size:var(--text-xs)}.form-grid{grid-template-columns:1fr}.hero-stats{flex-wrap:wrap;gap:var(--space-6)}}
