html{scroll-behavior:smooth}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.hero-section{color:#fff;background:linear-gradient(135deg,#1e3c72 0%,#2a5298 100%);padding:120px 0}.hero-stats-card{background:#ffffff1a;border-radius:1rem;padding:1.5rem 2rem}.hero-stat-number{color:#d3e4fc;font-size:2.5rem;font-weight:700}.hero-stat-label{color:#fffc;font-size:.875rem}.section-title{margin-bottom:3rem;font-size:2.5rem;font-weight:700;position:relative}.section-title:after{content:"";background:#0d6efd;border-radius:2px;width:60px;height:4px;margin:1rem auto 0;display:block}.section-subtitle{color:#6c757d;max-width:700px;margin:0 auto;font-size:1.25rem}.location-card{border:none;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #00000014}.location-address{gap:.75rem;margin-bottom:.75rem;display:flex}.location-address-icon{flex-shrink:0;font-size:1.5rem}.location-address-text{color:#6c757d}.location-coordinates{color:#6c757d;margin-bottom:.5rem;font-family:monospace;font-size:.9rem;display:block}.location-distance{align-items:baseline;gap:.5rem;display:flex}.location-distance-value{color:#0d6efd;font-size:2rem;font-weight:700}.location-distance-unit{color:#6c757d}.location-distance-badge{color:#212529;background:#f8f9fa;border-radius:20px;margin-left:.5rem;padding:.25rem .75rem;font-size:.75rem}.marker-button{color:#fff;cursor:pointer;z-index:100;background-color:#0d6efd66;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:700;transition:all .2s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0003}.marker-button:hover{background-color:#0d6efd80;transform:translate(-50%,-50%)scale(1.1)}.marker-button.active{background-color:#0b5ed7;border:3px solid #ffc107}.marker-popup{z-index:1000;pointer-events:auto;background:#fff;border-left:4px solid #0d6efd;border-radius:12px;max-width:380px;padding:1rem 1.25rem;animation:.2s fadeIn;position:absolute;box-shadow:0 8px 30px #00000026}.marker-popup-title{color:#1e3c72;margin-bottom:.5rem;font-size:1rem;font-weight:600}.marker-popup-list{color:#6c757d;margin:0;padding-left:1.25rem;font-size:.875rem;line-height:1.5}.marker-popup-list li{margin-bottom:.25rem}.marker-popup-close{cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.25rem}.structure-item{cursor:pointer;background:#fff;border:2px solid #e9ecef;border-radius:12px;height:100%;padding:1.25rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000a}.structure-item:before{content:"";background:#dee2e6;width:4px;height:100%;transition:all .3s;position:absolute;top:0;left:0}.structure-item:hover{border-color:#0d6efd;transform:translateY(-4px);box-shadow:0 8px 25px #0d6efd1f}.structure-item:hover:before{background:#0d6efd}.structure-item.active{background:#f8f9fa;border-color:#0d6efd;transform:translateY(-2px);box-shadow:0 4px 20px #0d6efd26}.structure-item.active:before{background:#0d6efd}.structure-item-number{color:#6c757d;background:#f1f3f5;border:2px solid #e9ecef;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:700;transition:all .3s;display:flex}.structure-item:hover .structure-item-number{color:#0d6efd;background:#e7f1ff;border-color:#0d6efd}.structure-item.active .structure-item-number{color:#fff;background:#0d6efd;border-color:#0d6efd;box-shadow:0 4px 12px #0d6efd4d}.structure-item-title{color:#1e3c72;margin-bottom:.5rem;font-size:1rem;font-weight:600;transition:color .3s}.structure-item:hover .structure-item-title,.structure-item.active .structure-item-title{color:#0d6efd}.structure-item-list{color:#6c757d;margin:0;padding-left:1rem;font-size:.8rem;list-style-type:disc}.structure-item-list li{margin-bottom:4px;line-height:1.4}.structure-item-list li:last-child{margin-bottom:0}.progress-section{background:#212529;border:1px solid #495057;border-radius:12px;padding:1.5rem}.progress-label{text-align:center;color:#ffffffe6;width:100%;font-size:1.1rem;display:block}.progress-date{color:#6c757d;min-width:90px;font-size:.875rem}.progress-date-start{text-align:left}.progress-date-end{text-align:right}.progress-bar-orange{background-color:#ff6a00!important}.progress-bar-green{background-color:#01ad49!important}.progress-bar-empty{background-color:#495057!important}.gallery-section{background-color:#f8f9fa;padding:3rem 0}.gallery-group-description{color:#6c757d;margin-bottom:1rem;font-size:1.25rem}.gallery-photo-card{cursor:pointer;background:#fff;border:1px solid #e9ecef;border-radius:12px;transition:box-shadow .2s;overflow:hidden}.gallery-photo-card:hover{box-shadow:0 4px 16px #0000001a}.gallery-photo-image-wrapper{background:#e9ecef;min-height:300px;position:relative}.gallery-photo-image{object-fit:cover}.gallery-photo-description{background:#fff;flex-direction:column;justify-content:space-between;height:100%;min-height:300px;display:flex;padding:2rem 2rem 2rem 2.5rem!important}.gallery-photo-title{color:#1e3c72;margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.gallery-photo-text{color:#6c757d;flex-grow:0;margin-bottom:.75rem}.gallery-photo-meta{border-top:1px solid #e9ecef;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:1rem;display:flex}.gallery-photo-date{color:#0d6efd;margin-bottom:0;font-size:.9rem}.gallery-photo-counter{color:#6c757d;margin-bottom:0;font-size:.85rem}.gallery-slider-btn{color:#fff;cursor:pointer;z-index:5;background:#00000080;border:none;border-radius:4px;padding:.5rem 1rem;font-size:2rem;line-height:1;transition:background .2s;position:absolute;top:50%;transform:translateY(-50%)}.gallery-slider-btn:hover{background:#000c}.gallery-slider-prev{left:10px}.gallery-slider-next{right:10px}.gallery-modal-body{background:#212529!important;justify-content:center!important;align-items:center!important;min-height:60vh!important;padding:0!important;display:flex!important;position:relative!important}.gallery-modal-image-wrapper{width:100%;height:70vh;position:relative}.gallery-modal-image{object-fit:contain}.gallery-modal-title{font-size:1.3rem!important;line-height:1.2!important}.gallery-modal-footer{justify-content:space-between!important;align-items:center!important;display:flex!important}.gallery-modal-footer-left{align-items:center;gap:.5rem;display:flex}.gallery-modal-footer-right{align-items:center;display:flex}.gallery-nav-btn{color:#fff;cursor:pointer;z-index:10;background:#0009;border:none;border-radius:4px;padding:.5rem 1rem;font-size:2rem;line-height:1;transition:background .2s;position:absolute;top:50%;transform:translateY(-50%)}.gallery-nav-btn:hover{background:#000c}.gallery-nav-prev{left:10px}.gallery-nav-next{right:10px}.gallery-badge{word-wrap:break-word;border-radius:8px;max-width:100%;padding:.5rem 1rem;font-size:.9rem;font-weight:500;line-height:1.5;display:inline-block}.gallery-badge-all{color:#fff;background:#198754}.gallery-badge-recent{color:#fff;background:#0dcaf0}.gallery-load-btn{min-width:250px}.gallery-load-btn:disabled{opacity:.7;cursor:not-allowed}.gallery-empty{text-align:center;color:#6c757d;padding:3rem 0}.contact-section{background:linear-gradient(135deg,#f5f7fa 0%,#e9eef3 100%);padding:3rem 0}.contact-card{background:#fff;border-radius:16px;padding:2rem 2.5rem;box-shadow:0 2px 20px #0000000d}.contact-item{text-align:center;background:#f8fafc;border-radius:12px;padding:1rem 1.5rem;transition:all .2s}.contact-item:hover{background:#f0f4f8;transform:translateY(-2px)}.contact-item-icon{margin-bottom:.5rem;font-size:2rem;display:inline-block}.contact-item-link{color:#2c7ab1;word-break:keep-all;overflow-wrap:normal;white-space:nowrap;font-size:1.125rem;font-weight:500;text-decoration:none}.contact-item-link:hover{color:#1a5a8a;text-decoration:underline}.contact-divider{border-color:#797979;margin:1.5rem 0}.contact-details-title{color:#1a3a5c;text-align:center;margin-bottom:1rem;font-weight:600}.contact-details-box{background:#f8fafc;border-radius:12px;padding:1.25rem 1.5rem}.contact-details-value{color:#2c3e50;margin-bottom:.75rem;font-size:.95rem}.contact-details-value:last-child{margin-bottom:0}@media (max-width:991.98px){.navbar-collapse{background-color:#fff;border-radius:12px;margin-top:.5rem;padding:1rem;box-shadow:0 4px 12px #0000001a}.navbar-nav{gap:0}.navbar-nav .nav-link{border-radius:8px;margin-bottom:4px;color:#212529!important;padding:.75rem 1rem!important}.navbar-nav .nav-link:hover{background-color:#f8f9fa}.navbar-nav .nav-link.active{background-color:#e7f1ff;font-weight:600;color:#0d6efd!important}.gallery-photo-image-wrapper{min-height:200px}.gallery-photo-description{min-height:auto;padding:1.5rem!important}.gallery-modal-image-wrapper{height:50vh}.gallery-slider-btn,.gallery-nav-btn{padding:.3rem .8rem;font-size:1.5rem}.gallery-group-description{font-size:1.2rem}.gallery-photo-title{font-size:1rem}.marker-popup{max-width:300px}.hero-section{padding:100px 0}}@media (max-width:576px){.section-title{font-size:2rem}.section-subtitle{font-size:1rem}.hero-section{padding:80px 0}.hero-stat-number{font-size:1.8rem}.hero-list{font-size:1rem}.gallery-photo-image-wrapper{min-height:150px}.gallery-photo-description{padding:1rem!important}.gallery-modal-image-wrapper{height:40vh}.gallery-section{padding:2rem 0}.gallery-photo-title{font-size:.95rem}.gallery-photo-text{font-size:.85rem}.marker-button{width:32px;height:32px;font-size:14px}.marker-popup{max-width:260px;padding:.75rem 1rem}.structure-item{padding:.75rem 1rem}.contact-card{padding:1.25rem 1.5rem}.contact-item{padding:.75rem 1rem}.contact-item-link{font-size:1rem}.location-distance-value{font-size:1.5rem}.gallery-load-btn{width:100%;min-width:auto}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
