*,*:before,*:after{box-sizing:border-box}html{background:#0a0a0a;overflow-x:clip}body{background:#0a0a0a;color:#e8e8e8;font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,.hero-headline,.section-title,.service-title,.proj-title,.modal-proj-title,.course-title,.academia-stat-num,.bim-name,.sov-title{font-family:Space Grotesk,sans-serif}*:focus-visible{outline:2px solid rgba(0,143,76,.5);outline-offset:2px}*:focus{outline:none}.accent-line{display:block;width:2.5rem;height:1px;background:#008f4c}.section-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:2.5rem}.section-eyebrow span{color:#a1a1aa;font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase}.nav-glass{background:#0a0a0abf;backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%);border-bottom:1px solid rgba(255,255,255,.04)}.nav-link{position:relative;color:#a1a1aa;font-size:.8125rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:color .25s ease}.nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:#008f4c;transition:width .3s cubic-bezier(.4,0,.2,1)}.nav-link:hover{color:#e8e8e8}.nav-link:hover:after{width:100%}.nav-link.active{color:#e8e8e8}.nav-link.active:after{width:100%;background:#008f4c}.nav-dropdown-wrapper{position:relative}.nav-dropdown-trigger{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;cursor:pointer;padding:0;font-size:.8125rem;font-family:inherit;letter-spacing:.06em;text-transform:uppercase}.nav-chevron{display:inline-block;margin-left:.3rem;transition:transform .25s ease;vertical-align:middle;flex-shrink:0}.nav-dropdown-wrapper.open .nav-chevron{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:calc(100% + 1.1rem);left:50%;min-width:190px;background:#0e0e0ef7;backdrop-filter:blur(18px) saturate(120%);border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:.4rem;opacity:0;pointer-events:none;transform:translate(-50%) translateY(-6px);transition:opacity .2s ease,transform .2s ease;z-index:200}.nav-dropdown-wrapper.open .nav-dropdown-menu{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.nav-dropdown-item{display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;border-radius:.5rem;color:#a1a1aa;font-size:.8rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;transition:background .18s,color .18s;white-space:nowrap}.nav-dropdown-item:hover{background:#008f4c1a;color:#e8e8e8}.nav-dropdown-item svg{opacity:.5;flex-shrink:0}.nav-dropdown-item:hover svg{opacity:1}.btn-yare{border:1px solid rgba(237,28,36,.35);color:#ed1c24;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.45rem 1rem;border-radius:3px;text-decoration:none;transition:background .25s ease,border-color .25s ease,color .25s ease}.btn-yare:hover{background:#ed1c241a;border-color:#ed1c24;color:#e8e8e8}#mobile-menu{background:#0a0a0af7;backdrop-filter:blur(20px)}.nav-mobile-group{display:flex;flex-direction:column}.nav-mobile-accordion{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:none;cursor:pointer;padding:0;font-size:1rem;font-family:inherit;text-align:left}.nav-mobile-accordion .nav-chevron{transition:transform .25s ease}.nav-mobile-accordion.open .nav-chevron{transform:rotate(180deg)}.nav-mobile-sub{padding-left:.75rem;padding-top:.75rem;display:flex;flex-direction:column;gap:.65rem;border-left:1px solid rgba(0,143,76,.25);margin-left:.25rem}.nav-mobile-sub-link{color:#9ca3af;font-size:.875rem;letter-spacing:.04em;text-decoration:none;transition:color .2s;padding:.1rem 0}.nav-mobile-sub-link:hover{color:#e8e8e8}#nav-logo{height:2rem;width:auto}@media(min-width:48rem){#nav-logo{height:2.5rem}}.dark-theme-img{display:block}.light-theme-img{display:none}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;color:#6b7280;background:transparent;border:none;cursor:pointer;padding:0;transition:color .25s ease,transform .4s ease;flex-shrink:0}.theme-toggle:hover{color:#e8e8e8;transform:rotate(18deg)}.theme-toggle:focus-visible{outline:1.5px solid #008f4c;outline-offset:3px;border-radius:2px}.theme-toggle .icon-moon{display:block}.theme-toggle .icon-sun{display:none}.btn-primary{position:relative;display:inline-flex;align-items:center;gap:.85rem;color:#fff;font-size:.68rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;padding:.85rem 2.2rem;background:#008f4c;border:1px solid rgba(0,180,90,.5);border-radius:999px;-webkit-backdrop-filter:blur(14px) saturate(120%);backdrop-filter:blur(14px) saturate(120%);box-shadow:0 2px 20px #00000073,inset 0 1px #ffffff0a;overflow:hidden;isolation:isolate;white-space:nowrap;transition:color .35s ease,border-color .35s ease,box-shadow .4s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1),background .35s ease}.btn-primary:before{content:"";position:absolute;inset:0;border-radius:999px;background:radial-gradient(ellipse 100% 100% at 50% 80%,rgba(0,200,80,.1) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;z-index:-1}.btn-primary:hover{color:#fff;border-color:#00c86499;background:#007040;box-shadow:0 4px 28px #00000059,0 0 0 1px #00c85033,0 0 40px #008f4c33,inset 0 1px #ffffff1a;transform:translateY(-2px)}.btn-primary:hover:before{opacity:1}.btn-primary .btn-sep{width:1px;height:.875rem;background:#00a05040;flex-shrink:0;transition:background .35s ease}.btn-primary:hover .btn-sep{background:#00c85073}.btn-primary .btn-arrow{flex-shrink:0;transition:transform .4s cubic-bezier(.4,0,.2,1),color .35s ease}.btn-primary:hover .btn-arrow{transform:translate(5px);color:#00e070}.cta-section{background:#050505;padding:clamp(5rem,8vw,8rem) 0}.btn-cta-primary{position:relative;display:inline-flex;align-items:center;gap:.85rem;color:#b4ffc8e0;font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;padding:.9rem 2.2rem;background:#040804e0;border:1px solid rgba(0,180,80,.38);border-radius:999px;-webkit-backdrop-filter:blur(14px) saturate(120%);backdrop-filter:blur(14px) saturate(120%);box-shadow:0 2px 24px #00000080,inset 0 1px #ffffff0d;overflow:hidden;isolation:isolate;white-space:nowrap;transition:color .35s ease,border-color .35s ease,box-shadow .4s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1),background .35s ease}.btn-cta-primary:before{content:"";position:absolute;inset:0;border-radius:999px;background:radial-gradient(ellipse 100% 100% at 50% 80%,rgba(0,200,80,.12) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;z-index:-1}.btn-cta-primary:hover{color:#7dffa8;border-color:#00c8508c;background:#040c04eb;box-shadow:0 4px 28px #0009,0 0 0 1px #00c85033,0 0 40px #00a0501f,inset 0 1px #ffffff12;transform:translateY(-2px)}.btn-cta-primary:hover:before{opacity:1}.btn-cta-primary .btn-sep{width:1px;height:.875rem;background:#00a0504d;flex-shrink:0;transition:background .35s ease}.btn-cta-primary:hover .btn-sep{background:#00c85080}.btn-cta-primary .btn-arrow{flex-shrink:0;transition:transform .4s cubic-bezier(.4,0,.2,1),color .35s ease}.btn-cta-primary:hover .btn-arrow{transform:translate(5px);color:#00e070}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;color:#a1a1aa;font-size:.8125rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;transition:color .25s ease}.btn-secondary:hover{color:#e8e8e8}.btn-view-all{position:relative;display:inline-flex;align-items:center;gap:.85rem;color:#00c060;font-size:.68rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;padding:.85rem 2.2rem;background:#080a08b8;border:1px solid rgba(0,160,80,.22);border-radius:999px;backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);box-shadow:0 2px 20px #00000073,inset 0 1px #ffffff0a;overflow:hidden;isolation:isolate;white-space:nowrap;flex-wrap:nowrap;transition:color .35s ease,border-color .35s ease,box-shadow .4s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1),background .35s ease}.btn-view-all:before{content:"";position:absolute;inset:0;border-radius:999px;background:radial-gradient(ellipse 100% 100% at 50% 80%,rgba(0,200,80,.1) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;z-index:-1}.btn-view-all:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(0,200,80,.07) 40%,rgba(0,255,100,.12) 50%,rgba(0,200,80,.07) 60%,transparent 100%);z-index:-1;transition:none}.btn-view-all:hover{color:#7dffa8;border-color:#00c85073;background:#080c08d1;box-shadow:0 4px 28px #0000008c,0 0 0 1px #00c8502e,0 0 40px #00a0501a,inset 0 1px #ffffff0f,inset 0 0 20px #00a0500a;transform:translateY(-2px)}.btn-view-all:hover:before{opacity:1}.btn-view-all:hover:after{animation:viewAllSweep 1.6s ease-in-out forwards}.btn-view-all .btn-arrow{flex-shrink:0;transition:transform .4s cubic-bezier(.4,0,.2,1),color .35s ease}.btn-view-all:hover .btn-arrow{transform:translate(5px);color:#00e070}.btn-view-all .btn-sep{width:1px;height:.875rem;background:#00a05040;flex-shrink:0;transition:background .35s ease}.btn-view-all:hover .btn-sep{background:#00c85073}@keyframes viewAllSweep{0%{left:-100%}to{left:120%}}.btn-back{display:inline-flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:color .2s}.btn-back svg{transition:transform .2s}.btn-back:hover{color:#008f4c}.btn-back:hover svg{transform:translate(-3px)}.site-footer{background:#050505;border-top:1px solid #008f4c;position:relative;overflow:visible}.footer-pi-isotipo-wrap{display:flex;justify-content:center;padding-top:3rem;padding-bottom:1.75rem}.footer-pi-grid{max-width:80rem;margin:0 auto;padding:0 1.5rem 3.5rem;display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:stretch}@media(min-width:768px){.footer-pi-grid{grid-template-columns:1fr 1fr 1fr;gap:2rem}}.footer-pi-col{display:flex;flex-direction:column}.footer-pi-left{align-items:flex-start}.footer-pi-center{align-items:center}.footer-pi-right{align-items:flex-end;justify-content:space-between}.footer-pi-brand{font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#ccc}.footer-pi-sub{font-size:.65rem;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:#4b4b4b;margin-top:.2rem}.footer-pi-info{font-size:.82rem;font-weight:300;color:#6b7280;text-decoration:none;transition:color .2s ease}.footer-pi-info:hover{color:#9ca3af}.footer-pi-nav{font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#5a5a6a;text-decoration:none;transition:color .2s ease}.footer-pi-nav:hover{color:#e8e8e8}.footer-socials{display:flex;gap:.6rem}.social-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#fff;color:#111;text-decoration:none;transition:color .22s,background .22s,transform .22s;cursor:pointer}.social-btn:hover{background:#e0e0e0;color:#008f4c;transform:translateY(-2px)}.social-btn:focus-visible{outline:1.5px solid #008f4c;outline-offset:2px}.footer-bottom-bar{border-top:1px solid #0F0F0F;padding:1.5rem 1.5rem 2.25rem;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.75rem;max-width:80rem;margin:0 auto}.footer-copy{font-size:.67rem;color:#3f3f46;letter-spacing:.04em}.page-footer{background:#050505;border-top:1px solid #111111;padding:2.5rem 0}.footer-text{font-size:.7rem;font-weight:400;letter-spacing:.08em;color:#3d3d3d}.wa-float{position:fixed;bottom:2rem;right:2rem;width:3rem;height:3rem;background:#0d0d0de0;border:1px solid rgba(0,143,76,.32);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#008f4c;z-index:9998;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 2px 20px #00000073;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease,opacity .3s ease;text-decoration:none}.wa-float:hover{border-color:#008f4cb3;box-shadow:0 4px 28px #00000080,0 0 18px #008f4c2e;transform:translateY(-2px)}.wa-float.wa-hidden{opacity:0;pointer-events:none;transform:translateY(6px)}@media(max-width:640px){.wa-float{bottom:1.25rem;right:1.25rem}}#btn-top{position:fixed;bottom:6rem;right:2rem;z-index:49;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:#0e0e0ed9;border:1px solid rgba(255,255,255,.08);border-radius:50%;color:#e8e8e880;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease,border-color .2s,color .2s}#btn-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}#btn-top:hover{border-color:#ffffff2e;color:#e8e8e8e6}@media(max-width:640px){#btn-top{bottom:5.25rem;right:1.25rem}}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s cubic-bezier(.4,0,.2,1),transform .65s cubic-bezier(.4,0,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.16s}.reveal-d3{transition-delay:.24s}.reveal-d4{transition-delay:.32s}.reveal-d5{transition-delay:.4s}.reveal-d6{transition-delay:.48s}.max-w-7xl{max-width:80rem;margin-left:auto;margin-right:auto}.px-container{padding-left:1.5rem;padding-right:1.5rem}@media(min-width:1024px){.px-container{padding-left:2.5rem;padding-right:2.5rem}}
