:root{--gold: #D4A017;--gold-light: #F0C040;--gold-dark: #A07010;--black: #050505;--dark: #0D0D0D;--dark2: #141414;--dark3: #1A1A1A;--white: #F5F0E8;--gray: #888;--font-display: "Bebas Neue", sans-serif;--font-ui: "Oswald", sans-serif;--font-body: "Inter", sans-serif;--t: .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--black);color:var(--white);overflow-x:hidden;cursor:none;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}ul{list-style:none}p{font-size:15px;line-height:1.8;color:#f5f0e8b3}#cursor{width:12px;height:12px;background:var(--gold);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;mix-blend-mode:difference;will-change:transform}#cursor-ring{width:36px;height:36px;border:1px solid var(--gold);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;opacity:.5;will-change:transform}nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 60px;display:flex;justify-content:space-between;align-items:center;transition:background var(--t),padding var(--t)}nav.scrolled{background:#050505f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:14px 60px;border-bottom:1px solid rgba(212,160,23,.2)}.nav-logo img{height:44px;width:auto;filter:drop-shadow(0 0 8px rgba(212,160,23,.4));transition:filter var(--t)}.nav-logo img:hover{filter:drop-shadow(0 0 16px rgba(212,160,23,.7))}.nav-links{display:flex;gap:40px}.nav-links a{text-decoration:none;color:var(--white);font-family:var(--font-ui);font-size:13px;letter-spacing:2px;text-transform:uppercase;opacity:.7;transition:opacity var(--t),color var(--t)}.nav-links a:hover{opacity:1;color:var(--gold)}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:5px}.hamburger span{display:block;width:24px;height:2px;background:var(--gold);transition:var(--t)}.mobile-nav{display:none;position:fixed;inset:0;background:#050505fa;z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:30px}.mobile-nav.open{display:flex}.mobile-nav a{font-family:var(--font-display);font-size:40px;letter-spacing:4px;text-decoration:none;color:var(--white);transition:color var(--t)}.mobile-nav a:hover{color:var(--gold)}.mobile-nav-close{position:absolute;top:24px;right:24px;font-size:30px;cursor:pointer;color:var(--gold)}section{padding:120px 60px;position:relative}.container{max-width:1200px;margin:0 auto}.section-label{font-family:var(--font-ui);font-size:11px;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:16px;display:flex;align-items:center;gap:16px}.section-label:before{content:"";display:block;width:30px;height:1px;background:var(--gold)}.section-title{font-family:var(--font-display);font-size:clamp(48px,7vw,90px);line-height:.95;letter-spacing:2px}.footer-logo{font-family:var(--font-display);font-size:24px;letter-spacing:3px;color:var(--gold)}.footer-copy{font-size:12px;color:var(--gray);letter-spacing:1px}.footer-system-link{color:var(--gold);text-decoration:none;margin-left:12px;transition:color var(--t)}.footer-system-link:hover{color:var(--gold-light)}.btn-primary{display:inline-block;padding:16px 40px;background:var(--gold);color:var(--black);font-family:var(--font-ui);font-size:13px;letter-spacing:3px;text-transform:uppercase;text-decoration:none;font-weight:700;transition:background var(--t),transform var(--t);clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%)}.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px)}.btn-secondary{display:inline-block;padding:16px 40px;border:1px solid rgba(212,160,23,.4);color:var(--white);font-family:var(--font-ui);font-size:13px;letter-spacing:3px;text-transform:uppercase;text-decoration:none;font-weight:400;transition:border-color var(--t),color var(--t),transform var(--t);clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%)}.btn-secondary:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:50px}.stat-box{background:var(--dark2);padding:30px;border-top:2px solid var(--gold);transition:background var(--t)}.stat-box:hover{background:var(--dark3)}.stat-number{font-family:var(--font-display);font-size:60px;color:var(--gold);line-height:1}.stat-label{font-family:var(--font-ui);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gray);margin-top:8px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.value-card{background:var(--dark2);padding:40px 24px;text-align:center;overflow:hidden;transition:background var(--t);position:relative}.value-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform var(--t)}.value-card:hover:after{transform:scaleX(1)}.value-card:hover{background:var(--dark3)}.value-icon{font-size:36px;margin-bottom:16px}.value-name{font-family:var(--font-ui);font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}.clase-card{background:var(--dark);padding:50px 36px;position:relative;overflow:hidden;transition:transform var(--t)}.clase-card:hover{transform:translateY(-4px)}.clase-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--gold-dark),var(--gold-light))}.clase-number{font-family:var(--font-display);font-size:80px;color:#d4a0171a;line-height:1;position:absolute;top:20px;right:24px}.clase-title{font-family:var(--font-display);font-size:32px;letter-spacing:2px;color:var(--white);margin-bottom:20px}.clase-title span{color:var(--gold)}.clase-desc{font-size:14px;line-height:1.8;color:#f5f0e899;margin-bottom:24px}.tag{display:inline-block;padding:4px 12px;background:#d4a0171a;border:1px solid rgba(212,160,23,.3);font-family:var(--font-ui);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin:3px 2px}.dia-card{background:var(--dark2);overflow:hidden}.dia-header{background:var(--gold);color:var(--black);padding:20px 30px;font-family:var(--font-display);font-size:26px;letter-spacing:3px}.dia-body{padding:24px 30px}.horario-item{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;gap:16px}.horario-item:last-child{border-bottom:none}.horario-time{font-family:var(--font-ui);font-size:18px;color:var(--gold);font-weight:600;white-space:nowrap}.horario-name{font-size:13px;color:#f5f0e899;text-align:right}.profesor-card{background:var(--dark);padding:50px 40px;border-top:3px solid var(--gold)}.profesor-photo{width:100%;aspect-ratio:4 / 5;-o-object-fit:cover;object-fit:cover;display:block;margin-bottom:28px;border:1px solid rgba(212,160,23,.25)}.profesor-name{font-family:var(--font-display);font-size:52px;letter-spacing:2px;line-height:1;margin-bottom:8px}.profesor-role{font-family:var(--font-ui);font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:30px}.medallas-title{font-family:var(--font-ui);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(212,160,23,.2)}.medalla-item{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05);align-items:center}.medalla-year{font-family:var(--font-display);font-size:20px;color:var(--gold);min-width:55px}.medalla-icon{font-size:18px;min-width:24px}.medalla-desc{font-size:13px;color:#f5f0e899;line-height:1.5}.contact-item{display:flex;gap:20px;align-items:flex-start;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.06)}.contact-icon{font-size:24px;min-width:40px}.contact-label{font-family:var(--font-ui);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gray);margin-bottom:4px}.contact-value{font-size:15px;color:var(--white)}.contact-value a{text-decoration:none;transition:color var(--t)}.contact-value a:hover{color:var(--gold)}.rrss-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.rrss-btn{padding:12px 24px;border:1px solid rgba(212,160,23,.3);color:var(--white);text-decoration:none;font-family:var(--font-ui);font-size:12px;letter-spacing:2px;text-transform:uppercase;display:flex;align-items:center;gap:10px;transition:all var(--t)}.rrss-btn:hover{background:#d4a0171a;border-color:var(--gold);color:var(--gold)}.map-placeholder{background:var(--dark2);height:300px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(212,160,23,.1);flex-direction:column;gap:16px;position:relative;overflow:hidden}.map-placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 48%,rgba(212,160,23,.05) 50%,transparent 52%),linear-gradient(-45deg,transparent 48%,rgba(212,160,23,.05) 50%,transparent 52%);background-size:40px 40px}.map-pin{font-size:48px}.map-address{font-family:var(--font-ui);font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);text-align:center;padding:0 20px;position:relative}#hero{height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(212,160,23,.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(212,160,23,.05) 0%,transparent 50%),var(--black)}.hero-lines{position:absolute;inset:0;overflow:hidden}.hero-lines:before{content:"";position:absolute;top:-50%;left:60%;width:1px;height:200%;background:linear-gradient(to bottom,transparent,rgba(212,160,23,.3),transparent);transform:rotate(-15deg)}.hero-lines:after{content:"";position:absolute;top:-50%;left:65%;width:1px;height:200%;background:linear-gradient(to bottom,transparent,rgba(212,160,23,.15),transparent);transform:rotate(-15deg)}.hero-bg-text{position:absolute;right:-5%;bottom:0;font-size:600px;font-family:var(--font-display);color:#d4a0170a;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;letter-spacing:-20px;pointer-events:none}.hero-content{position:relative;z-index:2;text-align:center;max-width:900px;padding:0 20px}.hero-logo{width:clamp(120px,18vw,200px);height:auto;margin:0 auto 30px;filter:drop-shadow(0 0 30px rgba(212,160,23,.3));animation:fadeUp .8s ease .1s both}.hero-eyebrow{font-family:var(--font-ui);font-size:12px;letter-spacing:6px;text-transform:uppercase;color:var(--gold);margin-bottom:20px;animation:fadeUp .8s ease .3s both}.hero-title{font-family:var(--font-display);font-size:clamp(80px,15vw,180px);line-height:.9;letter-spacing:-2px;margin-bottom:30px;animation:fadeUp .8s ease .5s both}.hero-title span{color:var(--gold)}.hero-subtitle{font-family:var(--font-ui);font-size:clamp(14px,2vw,18px);font-weight:300;letter-spacing:4px;text-transform:uppercase;color:#f5f0e899;margin-bottom:50px;animation:fadeUp .8s ease .7s both}.hero-cta{display:inline-flex;gap:20px;flex-wrap:wrap;justify-content:center;animation:fadeUp .8s ease .9s both}.hero-system-link{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;font-family:var(--font-ui);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#f5f0e880;animation:fadeUp .8s ease 1.1s both}.hero-system-link a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(212,160,23,.35);padding-bottom:3px;transition:color var(--t),border-color var(--t)}.hero-system-link a:hover{color:var(--gold-light);border-color:var(--gold-light)}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;animation:fadeIn 1s ease 1.5s both}.scroll-indicator span{font-family:var(--font-ui);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gray)}.scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollPulse 2s ease infinite}.news-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.news-controls{display:flex;align-items:center;gap:10px}.news-controls button{width:44px;height:44px;border-radius:999px;border:1px solid rgba(212,160,23,.35);background:#d4a0170d;color:var(--gold);font-size:18px;cursor:pointer;transition:all var(--t)}.news-controls button:hover{background:#d4a0172e;border-color:var(--gold)}.news-carousel-wrapper{position:relative}.news-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);gap:18px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:rgba(212,160,23,.45) transparent}.news-card{scroll-snap-align:start;background:var(--dark);border:1px solid rgba(212,160,23,.12);transition:border-color var(--t),transform var(--t)}.news-card:hover{transform:translateY(-4px);border-color:#d4a01759}.news-card-button{display:block;width:100%;border:0;padding:0;margin:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.news-card-image{position:relative;height:220px;overflow:hidden;border-bottom:1px solid rgba(212,160,23,.12)}.news-card-image:after,.news-modal-stage:after{content:"";position:absolute;inset:0;background-image:var(--news-watermark-url);background-repeat:no-repeat;background-position:right 12px bottom 12px;background-size:clamp(30px,10%,96px);opacity:.8;filter:grayscale(1) brightness(1.6);mix-blend-mode:screen;pointer-events:none;z-index:1}.news-card-image img{position:relative;z-index:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease}.news-card:hover .news-card-image img{transform:scale(1.04)}.news-card-content{padding:20px}.news-card-date{font-family:var(--font-ui);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:10px}.news-card-content h3{font-family:var(--font-ui);font-size:22px;line-height:1.2;letter-spacing:1px;text-transform:uppercase;margin-bottom:10px;color:var(--white)}.news-card-content p{font-size:14px;color:#f5f0e8a8;line-height:1.7}.news-empty{padding:28px;border:1px solid rgba(212,160,23,.22);background:#05050566;max-width:780px}.news-empty p{margin:0;color:#f5f0e8bf}.news-modal{position:fixed;inset:0;z-index:200;opacity:0;pointer-events:none;transition:opacity var(--t)}.news-modal.open{opacity:1;pointer-events:auto}.news-modal-backdrop{position:absolute;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.news-modal-dialog{position:relative;z-index:1;width:min(960px,calc(100vw - 32px));height:min(760px,calc(100vh - 32px));margin:16px auto;background:var(--dark);border:1px solid rgba(212,160,23,.2);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);overflow:hidden}.news-modal-close{position:absolute;top:10px;right:10px;width:34px;height:34px;border:0;border-radius:999px;background:#050505bf;color:var(--white);cursor:pointer;font-size:18px;z-index:2}.news-modal-media{background:var(--black);min-height:0;padding:12px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px}.news-modal-stage{position:relative;width:100%;height:100%;min-height:0;border:1px solid rgba(212,160,23,.2);overflow:hidden;background:#050505}.news-modal-media img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;display:block}.news-modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border:1px solid rgba(212,160,23,.35);border-radius:999px;background:#050505b3;color:var(--white);font-size:18px;cursor:pointer;z-index:2;transition:background var(--t),border-color var(--t),opacity var(--t)}.news-modal-nav:hover{background:#d4a01733;border-color:#d4a017b3}.news-modal-nav.prev{left:10px}.news-modal-nav.next{right:10px}.news-modal-thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:72px;gap:8px;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:thin;scroll-snap-type:x mandatory}.news-modal-thumb{border:1px solid rgba(245,240,232,.25);background:transparent;padding:0;width:72px;height:56px;cursor:pointer;transition:border-color var(--t),transform var(--t),opacity var(--t);opacity:.75;overflow:hidden;scroll-snap-align:center}.news-modal-thumb:hover{opacity:1;transform:translateY(-2px)}.news-modal-thumb.active{border-color:var(--gold);opacity:1}.news-modal-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.is-hidden{display:none!important}.news-modal-text{padding:28px 24px;overflow-y:auto;min-height:0}.news-modal-date{font-family:var(--font-ui);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:10px}.news-modal-text h3{font-family:var(--font-display);font-size:clamp(30px,5vw,46px);line-height:.95;letter-spacing:1px;margin-bottom:14px}.news-modal-share{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}.news-share-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:999px;border:0;color:#fff;font-family:var(--font-ui);font-size:11px;letter-spacing:1.3px;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .25s ease,filter .25s ease}.news-share-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}.news-share-btn.whatsapp{background:#25d366}.news-modal-body{color:#f5f0e8c7;font-size:clamp(15px,1.2vw,17px);line-height:1.85;white-space:pre-line}.news-modal-body p,.news-modal-body div,.news-modal-body ul,.news-modal-body ol,.news-modal-body blockquote,.news-modal-body h1,.news-modal-body h2,.news-modal-body h3,.news-modal-body h4{margin:0 0 14px}.news-modal-body ul,.news-modal-body ol{padding-left:18px}.news-modal-body a{color:var(--gold);text-decoration:underline}.news-modal-body blockquote{border-left:2px solid rgba(212,160,23,.6);padding-left:12px;color:#f5f0e8b8}.news-modal-body h1,.news-modal-body h2,.news-modal-body h3,.news-modal-body h4{color:#f5f0e8;line-height:1.2}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scrollPulse{0%,to{opacity:.3}50%{opacity:1}}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.clases-grid,.horarios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:60px}.profesor-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start}.contacto-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}footer{background:var(--black);padding:40px 60px;border-top:1px solid rgba(212,160,23,.1);display:flex;justify-content:space-between;align-items:center}.footer-made{display:flex;align-items:center;gap:12px;text-decoration:none;opacity:.6;transition:opacity var(--t)}.footer-made:hover{opacity:1}.footer-made span{font-family:var(--font-ui);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gray)}.footer-made img{height:36px;width:auto}@media(max-width:900px){footer{flex-direction:column;gap:20px;text-align:center}}@media(max-width:900px){section{padding:80px 24px}nav{padding:16px 24px}nav.scrolled{padding:12px 24px}.nav-links{display:none}.hamburger{display:flex}footer{flex-direction:column;gap:16px;text-align:center}.about-grid,.profesor-grid,.contacto-grid{grid-template-columns:1fr;gap:40px}.clases-grid,.horarios-grid{grid-template-columns:1fr}.values-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:1fr 1fr}.hero-system-link{flex-direction:column;gap:10px}.news-header{flex-direction:column;align-items:flex-start}.news-carousel{grid-auto-columns:minmax(260px,86vw)}.news-modal-dialog{display:flex;flex-direction:column;height:calc(100vh - 20px);margin:10px auto}.news-modal-media{order:2;display:flex;flex-direction:column;flex:0 0 auto;min-height:0;max-height:none;gap:8px;padding:10px}.news-modal-stage{flex:0 0 auto;height:auto;aspect-ratio:16 / 9;min-height:0}.news-modal-text{order:1;min-height:0;max-height:none;flex:1 1 auto;padding:24px 18px 18px}.news-modal-text h3{font-size:clamp(28px,9vw,34px);line-height:1.02}.news-modal-date{font-size:12px;letter-spacing:1.6px}.news-modal-thumbs{grid-auto-columns:52px;gap:6px;padding-bottom:0}.news-modal-thumb{width:52px;height:40px}.footer-system-link{display:block;margin:10px 0 0}}@media(pointer:coarse){body{cursor:auto}#cursor,#cursor-ring{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
