
:root{--bg:#070b18;--panel:#10172b;--panel2:#161f38;--line:#263451;--white:#f3f6ff;--muted:#a6b3d0;--violet:#873bfa;--blue:#147cfb;--cyan:#13d5f5;--grad:linear-gradient(105deg,#c5caff,#a56bff 48%,#30d9f8);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-size:15px;min-height:100vh;background-image:radial-gradient(ellipse at 75% -12%,#17245992,transparent 43%),radial-gradient(ellipse at 0% 50%,#160d3091,transparent 40%)}a{color:inherit;text-decoration:none}a:hover{color:#b3edff}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}::selection{background:#6244e1;color:white}.skip{position:absolute;top:-100px;left:16px;background:#fff;color:#111;z-index:999;padding:12px}.skip:focus{top:16px}.shell{--sideWidth:263px;display:grid;grid-template-columns:var(--sideWidth) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .25s ease}.shell.collapsed{--sideWidth:86px}.side{position:sticky;top:0;height:100vh;border-right:1px solid #2d3261;display:flex;flex-direction:column;padding:23px 15px 14px;background:linear-gradient(180deg,#0d1330 0%,#080c1d 68%,#101032 100%);z-index:20;overflow-x:hidden}.side:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 15% 8%,#49258e60,transparent 44%)}.side>*{z-index:1}.sidebarTop{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.brandIcon{width:96px;height:96px;border:1px solid #8876ff;border-radius:25px;padding:5px;box-shadow:0 0 20px #613cf660;display:grid;place-items:center;margin:0 auto 10px 8px;overflow:hidden;background:#101830}.brandIcon img{width:100%;height:100%;object-fit:cover;border-radius:17px}.collapse{border:1px solid #46517b;border-radius:12px;color:#c0caff;background:#151d41;padding:7px}.company{display:flex;flex-direction:column;gap:3px;margin:4px 8px 15px}.company strong{font-size:18px;letter-spacing:-.6px;white-space:nowrap}.company span{color:#95a7dc;letter-spacing:4px;font-size:10px}.company small{font-size:10px;color:#8b9abd;line-height:1.4}.sideDivider{height:1px;background:#323a62;margin:6px 9px 14px}.nav{display:flex;flex-direction:column;gap:6px}.navItem{padding:13px 13px;display:flex;gap:14px;align-items:center;border-radius:11px;color:#b8c5e4;font-weight:530;white-space:nowrap;border:1px solid transparent;transition:background .2s}.navItem svg{flex-shrink:0;color:#99aaff}.navItem:hover{background:#22284e;color:#fff}.navItem.current{background:linear-gradient(100deg,#6534d0a6,#17479cb0);border-color:#7458fd;box-shadow:inset 0 0 18px #6b39db45,0 0 15px #392e8b52;color:white}.navItem.current svg{color:#d0c4ff}.navTail{margin-left:auto}.sideAd{margin-top:auto;position:relative;min-height:214px;overflow:hidden;border:1px solid #7750cf;border-radius:17px;padding:17px;background:radial-gradient(circle at 80% 25%,#7132e87d,transparent 60%),linear-gradient(145deg,#201254,#090d29)}.sideAd .eyebrow{font-size:9px}.sideAdGlow{font-size:50px;color:#c9c2ff;text-shadow:0 0 22px #b23cff;text-align:center;line-height:1.3}.sideAd strong{font-size:18px;line-height:1.2;display:block}.sideAd p{font-size:12px;color:#b9c4e7;line-height:1.5}.sideAd a{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border:1px solid #7d53d8;border-radius:10px;font-size:12px}.sideBottom{display:flex;align-items:center;gap:8px;color:#7f91b2;padding:18px 8px 0}.onlineDot,.pulseDot{height:8px;width:8px;border-radius:50%;display:inline-block;background:#28f0a1;box-shadow:0 0 10px #20f4ab}.collapsed .brandIcon{height:52px;width:52px;margin:1px 0 12px}.collapsed .sidebarTop{flex-direction:column;align-items:center}.collapsed .company,.collapsed .sideDivider,.collapsed .navItem span,.collapsed .sideAd,.collapsed .sideBottom{display:none}.collapsed .navItem{justify-content:center;padding:15px 10px}.collapsed .collapse{margin:0 auto 13px}.mainColumn{min-width:0;display:flex;flex-direction:column}.topbar{height:79px;padding:0 clamp(19px,4%,64px);border-bottom:1px solid #263657;display:flex;align-items:center;justify-content:space-between;background:#091025ba;position:sticky;top:0;z-index:10;backdrop-filter:blur(20px)}.wordmark{font-size:25px;font-weight:800;letter-spacing:-1.2px}.wordmark span:first-child,.gradtext{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.wordMarkDot{color:var(--cyan)}.topbarRight{display:flex;align-items:center;gap:20px}.topPill{font-size:12px;border:1px solid #2b406e;background:#15203a;padding:9px 15px;border-radius:99px;color:#b5c6e8;display:flex;align-items:center;gap:8px}.topPill svg{color:#54d6e4}.smallCta{font-size:13px;display:flex;align-items:center;gap:7px;font-weight:700;color:#d5cfff}.mobileToggle{display:none;color:#fff;background:transparent;border:0}.pageBody{width:min(100%,1550px);margin:0 auto;padding:clamp(22px,3.3vw,52px) clamp(17px,3.5vw,56px) 50px;flex:1}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2.2px;color:#9bacfa;display:inline-flex;align-items:center;gap:10px;text-transform:uppercase}.heroHeader{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:center;min-height:430px;gap:20px;position:relative}.heroHeader h1{font-size:clamp(40px,4.3vw,66px);letter-spacing:-2.9px;line-height:1.08;margin:22px 0 20px;max-width:790px;font-weight:830}.heroHeader p{font-size:16px;color:#aebdd9;line-height:1.8;max-width:650px;margin:0 0 26px}.heroButtons{display:flex;flex-wrap:wrap;gap:11px}.buttonPrimary,.buttonGhost{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:14px 20px;border-radius:11px;font-weight:720;font-size:13px;transition:transform .2s,box-shadow .2s}.buttonPrimary{background:linear-gradient(108deg,#7938f6,#235cdb);border:1px solid #8e77f9;box-shadow:0 7px 30px #6032d538;color:#fff}.buttonPrimary:hover{color:white;transform:translateY(-2px);box-shadow:0 8px 35px #754bf38e}.buttonGhost{border:1px solid #4c5778;background:#141d35}.buttonGhost:hover{border-color:#7cbefa}.heroIndicators{display:flex;flex-wrap:wrap;gap:22px;margin-top:32px;font-size:11px;color:#9eafd4}.heroIndicators span{display:flex;align-items:center;gap:8px}.heroIndicators svg{color:#68c9fb}.heroArt{position:relative;display:flex;align-items:center;justify-content:center;min-height:390px}.heroArt img{position:relative;z-index:2;width:min(86%,390px);height:auto;border-radius:50%;box-shadow:0 0 38px #5028d34f}.halo{position:absolute;width:80%;aspect-ratio:1;border:1px solid #5647bf;border-radius:50%;box-shadow:0 0 60px #4234dc6b,0 0 35px #1071eb52 inset;animation:spin 32s linear infinite}.halo:before,.halo:after{content:"";position:absolute;inset:22px;border:1px dashed #4352a39c;border-radius:50%}.halo:after{inset:-19px;border-style:solid;opacity:.25}.orbit{position:absolute;font-size:10px;letter-spacing:2px;color:#a2c4f2;z-index:3;background:#0c1636bd;border:1px solid #354c81;border-radius:99px;padding:8px 13px}.orbit1{top:12%;left:4%}.orbit2{bottom:12%;right:1%}@keyframes spin{to{transform:rotate(360deg)}}.section{margin-top:67px}.sectionHead,.sectionTitle{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:20px}.sectionTitle h2{font-size:clamp(24px,2.5vw,35px);margin:8px 0 0;letter-spacing:-1px}.sponsorLabel{font-size:10px;color:#6f86b4;letter-spacing:1.3px}.banner{position:relative;border:1px solid #6946c5;border-radius:18px;overflow:hidden;aspect-ratio:4/1;min-height:208px;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:center;padding:30px clamp(22px,5vw,74px)}.defaultBanner{background-image:linear-gradient(90deg,#070f2a 0%,#080b20e6 42%,#060b193d 100%),url('assets/hero-sponsor.webp');background-position:center}.banner h2{font-size:clamp(25px,2.8vw,39px);margin:10px 0;max-width:550px;line-height:1.2}.banner p{color:#b3c7e8;font-size:14px}.banner a,.bannerAction{width:max-content;display:flex;align-items:center;gap:10px;background:#7b38de;border:1px solid #9f71e7;border-radius:9px;padding:11px 14px;font-size:12px;font-weight:bold;margin-top:10px}.pill,.tag{width:max-content;font-size:10px;letter-spacing:1.1px;font-weight:800;border:1px solid #486394;background:#20305c;color:#b7c8ff;padding:6px 9px;border-radius:20px}.serviceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.serviceCard{position:relative;border-radius:16px;border:1px solid #263456;background:linear-gradient(145deg,#141c38,#0d1529);padding:24px;min-height:205px;transition:transform .2s,border-color .2s}.serviceCard:hover{transform:translateY(-3px);border-color:#6b69e9}.serviceIcon{display:grid;place-items:center;width:50px;height:50px;color:#a7b4ff;border-radius:13px;background:linear-gradient(145deg,#363198,#1b3579);border:1px solid #5950b0;box-shadow:0 0 20px #5848f62e}.serviceCard:nth-child(3n+2) .serviceIcon,.catalogCard:nth-child(3n+2) .serviceIcon{color:#66eafa;background:linear-gradient(130deg,#0c5374,#152353);border-color:#267797}.serviceCard h3,.serviceCard h2{font-size:17px;margin:20px 0 10px}.serviceCard p{color:#97a8c8;font-size:12px;line-height:1.7;margin:0}.serviceCard .cardArrow{position:absolute;top:29px;right:23px;color:#8b9bbd}.serviceNum{position:absolute;top:25px;right:24px;color:#6279a2}.textLink{font-size:12px;display:flex;align-items:center;gap:8px;color:#9dbaef;font-weight:730}.featured{display:grid;grid-template-columns:1.05fr 1fr;gap:0;border:1px solid #293e69;border-radius:18px;background:#101b32;overflow:hidden}.featuredImage{position:relative;min-height:320px}.featuredImage img{height:100%;width:100%;object-fit:cover}.floatingTag{position:absolute;bottom:15px;left:15px;padding:8px 12px;border-radius:9px;background:#090c20c9;font-size:10px;color:#bed0f5;border:1px solid #5765a8}.featuredText{padding:clamp(26px,3.5vw,53px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.featuredText h2{font-size:36px;letter-spacing:-1.3px;margin:14px 0}.featuredText p{color:#a5b5d5;font-size:13px;line-height:1.8}.featureList{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 27px;color:#c2cffa;font-size:12px}.featureList span{display:flex;gap:8px;align-items:center}.featureList svg{color:#8da3fe}.miniProjects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.miniProject{background:#111a30;border:1px solid #273a60;min-height:91px;border-radius:12px;display:flex;align-items:center;padding:19px;gap:16px}.miniProjectIcon{background:#222b56;color:#98aeff;padding:13px;border-radius:12px}.miniProject div{flex:1;display:grid;gap:6px}.miniProject strong{font-size:14px}.miniProject small{color:#8fa0c4;font-size:11px}.miniProject>svg:last-child{color:#7b8cb5}.contactStrip{margin:70px 0 4px;border:1px solid #4f4c99;border-radius:20px;background:radial-gradient(ellipse at 20% 0%,#4a298381,transparent 55%),#0d1630;padding:clamp(24px,4vw,50px);display:flex;align-items:center;justify-content:space-between;gap:30px}.contactStrip h2{font-size:28px;letter-spacing:-.6px;margin:12px 0}.contactStrip p{color:#aebfda}.footer{padding:25px clamp(20px,4%,64px);border-top:1px solid #263450;display:flex;align-items:center;justify-content:space-between;background:#080e1e;gap:20px}.footer>div:first-child{display:flex;flex-direction:column;gap:14px;color:#7e8eb3}.footer nav{display:flex;gap:14px;flex-wrap:wrap;font-size:11px}.footerBrand{display:flex;align-items:center;gap:13px;font-size:18px;font-weight:800}.footerBrand>span{display:flex;flex-direction:column;align-items:flex-end}.footerBrand small{letter-spacing:5px;font-size:8px;color:#a6b6e8;font-weight:500}.footerBrand img{border-radius:50%}.pageHeading{margin:6px 0 32px;max-width:890px}.pageHeading h1{font-size:clamp(36px,4vw,58px);letter-spacing:-2px;line-height:1.1;margin:18px 0}.pageHeading p{font-size:16px;line-height:1.8;color:#a6b7d8}.serviceGrid.larger .serviceCard{min-height:255px}.catalogGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.catalogCard{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:270px;background:linear-gradient(145deg,#141b35,#0b1529);border:1px solid #2d3a5a;border-radius:16px;padding:25px}.catalogCard h2{font-size:20px;margin:22px 0 8px}.catalogCard p{color:#9dacce;font-size:13px;line-height:1.7}.catalogCard .tag{font-size:9px}.cardTop{display:flex;width:100%;justify-content:space-between;align-items:start}.catalogFooter{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding-top:17px;border-top:1px solid #293855;font-size:12px}.catalogFooter small{color:#96a9d2}.catalogFooter a{display:flex;gap:4px;align-items:center;color:#9fc3ff}.empty{background:#111b33;border:1px dashed #496087;border-radius:15px;padding:42px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;color:#a8bade}.empty strong{font-size:20px;color:white}.empty p{font-size:13px}.empty a{color:#a7bafa;display:flex;align-items:center;gap:8px}.miniDetail{display:grid;grid-template-columns:1.05fr 1fr;gap:35px;align-items:center;margin:20px 0 50px}.miniDetail>div:first-child img{max-width:100%;height:auto;border-radius:14px;border:1px solid #42507d}.miniDetail>img{width:100%;height:auto;border-radius:18px;max-width:440px}.miniDetail small{color:#9baed3}.miniDetail h2{font-size:32px;line-height:1.2}.miniDetail p{color:#a6b8da;line-height:1.8}.featureDetail{padding:0;list-style:none;display:grid;gap:12px;margin:25px 0}.featureDetail li{display:flex;align-items:center;gap:12px;color:#bdd0fa}.featureDetail svg{width:20px;color:#83a9fa}.notice{padding:17px;background:#1a2240;border:1px solid #485080;border-radius:12px;color:#b7c1e2;font-size:12px;line-height:1.6;margin:18px 0}.contactLayout{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.contactForm,.contactInfo{border:1px solid #304068;background:#111b31;border-radius:18px;padding:30px}.contactForm h2,.contactInfo h2{margin-top:0;font-size:22px}.contactInfo{background:radial-gradient(circle at 30% 0%,#432a825e,transparent 60%),#11182e}.contactInfo p{line-height:1.7;color:#a3b1cf}.contactForm label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#afc1e7;font-weight:600;margin:15px 0}.fieldRow{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contactForm input:not([type=checkbox]),.contactForm select,.contactForm textarea,.admin input,.admin select,.admin textarea{width:100%;background:#0c1429;color:#ecf5ff;border:1px solid #38466c;border-radius:10px;padding:12px;outline:none}.contactForm :is(input,textarea,select):focus,.admin :is(input,textarea,select):focus{border-color:#7f74ed;box-shadow:0 0 0 2px #6157ac44}.contactForm .consent{flex-direction:row;align-items:flex-start;font-weight:400;line-height:1.5}.consent input{margin:2px 4px 0 0;min-width:16px}.consent a{color:#a9ceff;text-decoration:underline}.honeypot{position:absolute!important;left:-5000px!important;width:1px!important}.feedback{display:flex;align-items:center;gap:9px;font-size:13px}.feedback svg{width:19px}.feedback.good{color:#6ce8ab}.feedback.error{color:#ff9eaa}.infoLine{display:flex;flex-direction:column;gap:8px;padding:18px 0;border-bottom:1px solid #374260}.infoLine span{font-size:13px;color:#a0b0d3}.faq{display:grid;gap:13px}.faq details{background:#101b34;border:1px solid #2e3d64;border-radius:12px;padding:20px}.faq summary{cursor:pointer;font-weight:700}.faq p{color:#a2b4d4;line-height:1.7}.legal{padding:26px;background:#111a32;border:1px solid #2d3c60;border-radius:15px;color:#b7c7e4;max-width:850px;line-height:1.8}.mobileScrim{display:none}.admin .adminGrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.admin .adminBox{border:1px solid #364a73;border-radius:13px;background:#111b32;padding:22px}.admin .adminBox form{display:grid;gap:12px}.admin label{display:grid;gap:5px;font-size:12px}.adminTab{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.adminTab a{border:1px solid #40517d;border-radius:10px;padding:10px;color:#d4ddfa;font-size:12px}.adminTab a.active{background:#4b39b1}.adminTable{width:100%;border-collapse:collapse;font-size:12px}.adminTable td,.adminTable th{text-align:left;padding:12px;border-bottom:1px solid #2c3b61}.adminTable td{color:#b3bfdc}.adminTable form{display:inline}.dangerButton{border:1px solid #944353;color:#ffc5ce;border-radius:7px;padding:7px;background:#56232b}.admin td form{display:inline}.btnSmall{border:1px solid #6659bd;background:#322b71;border-radius:8px;padding:7px 12px;color:white}.adminBox h2{margin-top:0}.admin form{max-width:620px}.admin input[type=checkbox]{width:auto}
@media(max-width:1280px){.heroHeader h1{font-size:46px}.heroHeader{min-height:360px}.heroArt{min-height:320px}.orbit{display:none}.side{padding-left:10px;padding-right:10px}.sideAd{min-height:160px}.serviceGrid,.catalogGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.shell{grid-template-columns:1fr}.side{position:fixed;inset:0 auto 0 0;width:263px;transform:translateX(-105%);transition:transform .2s}.side.mobile-on{transform:translateX(0)}.mobileScrim{position:fixed;inset:0;background:#000b;z-index:15;border:0;display:block}.mobileToggle{display:block}.topbar{height:70px}.topPill{display:none}.heroHeader{grid-template-columns:1fr 300px}.heroHeader h1{font-size:44px}}@media(max-width:700px){.pageBody{padding:25px 18px 45px}.wordmark{font-size:21px}.smallCta{font-size:12px}.heroHeader{grid-template-columns:1fr;min-height:0;gap:0}.heroHeader h1{font-size:40px;letter-spacing:-1.7px}.heroHeader p{font-size:14px}.heroArt{min-height:235px}.heroArt img{width:210px}.halo{width:235px}.heroIndicators{margin-top:19px}.banner{min-height:225px;aspect-ratio:auto;background-position:75% center;padding:22px}.banner h2{font-size:25px}.banner p{max-width:245px}.section{margin-top:46px}.serviceGrid,.catalogGrid,.miniProjects,.featured,.miniDetail,.contactLayout,.admin .adminGrid{grid-template-columns:1fr}.featuredImage{min-height:210px}.featuredText{padding:27px}.featureList{grid-template-columns:1fr}.sectionTitle{align-items:flex-start}.sectionTitle h2{font-size:26px}.contactStrip{flex-direction:column;align-items:start;margin-top:42px}.footer{flex-direction:column;align-items:start}.footerBrand{align-self:end}.pageHeading h1{font-size:38px}.fieldRow{grid-template-columns:1fr}.topbar{padding:0 17px}.brandIcon{margin-left:8px}.sponsorLabel{font-size:9px}.miniDetail>img{width:220px}.adminTable{display:block;overflow-x:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* v1.0.1: regla correctiva. Las proporciones del banner no deben expandir el lienzo. */
html,body{max-width:100%;overflow-x:clip}
.pageBody,.adSection,.section,.heroHeader,.featured,.mainColumn,.contactStrip{min-width:0;max-width:100%}
.banner{width:100%;max-width:100%;min-width:0;min-height:210px}
.banner>div{min-width:0;max-width:100%}
img{max-width:100%}
@media(max-width:700px){.banner{aspect-ratio:auto;min-height:228px}}
