*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #9CA3AF;outline-offset:2px}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9CA3AF;outline-offset:2px;box-shadow:0 0 0 4px rgba(156,163,175,.3)}.form-input:focus,.form-select:focus,.form-textarea:focus{box-shadow:0 0 0 4px rgba(156,163,175,.3)}.svg-gradients{position:absolute;width:0;height:0;overflow:hidden}:root{--vd-orange:#FF6600;--vd-orange-light:#FF8533;--vd:#1b4a96;--vd-dark:#003366;--vd-blue:#2962FF;--vd-light-blue:#E6F0FA;--vd-light-gray:#F8F9FA;--text-dark:#111827;--metallic:#4B5563;--input-bg:#F8F8F8;--border-color:#E5E7EB;--error-color:#DC2626;--success-color:#10B981;--bg-gradient-start:#f8f9fa;--hero-overlay:rgba(0, 78, 150, 0.05);--error-bg:#FEF2F2;--vd-orange-rgb:255,102,0;--ease-smooth:cubic-bezier(0.4, 0, 0.2, 1);--ease-bounce:cubic-bezier(0.68, -0.55, 0.265, 1.55);--ease-elastic:cubic-bezier(0.175, 0.885, 0.32, 1.275);--duration-fast:0.2s;--duration-normal:0.35s;--duration-slow:0.5s;--duration-slower:0.7s;--transition-base:transform var(--duration-normal) var(--ease-smooth),opacity var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth);--transition-fast:transform var(--duration-fast) var(--ease-smooth),opacity var(--duration-fast) var(--ease-smooth);--transition-slow:transform var(--duration-slow) var(--ease-smooth),opacity var(--duration-slow) var(--ease-smooth),box-shadow var(--duration-slow) var(--ease-smooth);--transition-transform:transform var(--duration-normal) var(--ease-smooth);--transition-shadow:box-shadow var(--duration-normal) var(--ease-smooth);--gradient-primary:linear-gradient(135deg, var(--vd) 0%, var(--vd-dark) 100%);--gradient-primary-alt:linear-gradient(135deg, var(--vd), var(--vd-light-blue));--gradient-primary-reverse:linear-gradient(135deg, var(--vd-dark) 0%, var(--vd) 100%);--gradient-orange:linear-gradient(135deg, var(--vd-orange), var(--vd-orange-light));--gradient-orange-reverse:linear-gradient(135deg, var(--vd-orange-light), var(--vd-orange));--gradient-light:linear-gradient(135deg, var(--vd-light-gray) 0%, white 100%);--gradient-subtle:linear-gradient(135deg, #f5f7fa 0%, #e4e8ec 100%);--gradient-accent:linear-gradient(90deg, var(--vd), var(--vd-blue));--gradient-loader:linear-gradient(135deg, #0033A0 0%, #002580 100%);--shadow-xs:0 2px 4px rgba(0, 0, 0, 0.05);--shadow-sm:0 4px 8px rgba(0, 0, 0, 0.08);--shadow-md:0 10px 20px rgba(0, 0, 0, 0.1);--shadow-lg:0 15px 30px rgba(0, 0, 0, 0.12);--shadow-xl:0 20px 40px rgba(0, 0, 0, 0.15);--shadow-2xl:0 25px 45px rgba(0, 0, 0, 0.18);--shadow-orange:0 4px 15px rgba(var(--vd-orange-rgb), 0.3);--shadow-primary:0 4px 15px rgba(0, 78, 150, 0.3);--shadow-primary-sm:0 4px 12px rgba(0, 78, 150, 0.2);--shadow-primary-md:0 6px 20px rgba(0, 78, 150, 0.25);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--z-base:1;--z-dropdown:10;--z-sticky:30;--z-fixed:100;--z-modal-backdrop:1000;--z-modal:1001;--z-popover:1100;--z-toast:1200;--z-tooltip:1300;--z-loader:9999;--scrollbar-width:17px;--navbar-height:70px;font-size:16px;scroll-padding-top:56px}@font-face{font-family:Montserrat;src:local('Montserrat Regular'),local('Montserrat-Regular'),url('/assets/fonts/Montserrat-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:local('Montserrat Medium'),local('Montserrat-Medium'),url('/assets/fonts/Montserrat-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:local('Montserrat SemiBold'),local('Montserrat-SemiBold'),url('/assets/fonts/Montserrat-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:local('Montserrat Bold'),local('Montserrat-Bold'),url('/assets/fonts/Montserrat-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:local('Montserrat ExtraBold'),local('Montserrat-ExtraBold'),url('/assets/fonts/Montserrat-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}body{font-family:Montserrat,sans-serif;background:#fff;color:var(--text-dark);overflow-x:hidden;font-size:clamp(.875rem, 1vw, 1rem)}body.no-scroll{overflow:hidden}body.no-scroll-fixed{position:fixed;width:100%;top:var(--scroll-position,0);overflow:hidden}.page-loader{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--vd);display:flex;justify-content:center;align-items:center;z-index:var(--z-loader);transition:opacity .3s ease-out,visibility .3s ease-out}.page-loader.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-content{text-align:center}.orbit-container{position:relative;width:80px;height:80px;margin:0 auto}.orbit-ring{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;border:2px dashed rgba(255,255,255,.35);box-sizing:border-box;pointer-events:none}.plane-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;animation:rotatePlane 2s linear infinite;transform-origin:50% 50%}.plane-icon{position:absolute;top:-10px;left:50%;transform:translateX(-50%) rotate(90deg);width:22px;height:22px;filter:drop-shadow(0 2px 4px rgba(0, 78, 150, .3));pointer-events:none}.plane-icon svg{display:block;width:100%;height:100%}@keyframes rotatePlane{from{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-text{margin-top:24px;color:#fff;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:500;letter-spacing:.5px;text-align:center;opacity:.9}.scroll-progress-container{position:fixed;top:0;left:0;width:100%;height:4px;background:rgba(0,0,0,.05);z-index:10000;pointer-events:none}.scroll-progress-bar{width:var(--progress,0%);height:100%;background:var(--vd-orange);transition:width .1s ease-out}@media (prefers-reduced-motion:reduce){.scroll-progress-bar{transition:none}}.animate-on-scroll{opacity:0;transform:translateY(30px);will-change:opacity,transform}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}100%{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-30px)}100%{opacity:1;transform:translateY(0)}}@keyframes fadeLeft{0%{opacity:0;transform:translateX(-30px)}100%{opacity:1;transform:translateX(0)}}@keyframes fadeRight{0%{opacity:0;transform:translateX(30px)}100%{opacity:1;transform:translateX(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}100%{opacity:1;transform:scale(1)}}@keyframes zoomOut{0%{opacity:0;transform:scale(1.05)}100%{opacity:1;transform:scale(1)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-5deg) scale(.95)}100%{opacity:1;transform:rotate(0) scale(1)}}@keyframes shake{0%{transform:translateX(-10px);opacity:0}25%{transform:translateX(10px)}50%{transform:translateX(-5px)}75%{transform:translateX(5px)}100%{transform:translateX(0);opacity:1}}@keyframes flipX{0%{transform:perspective(400px) rotateY(90deg);opacity:0}100%{transform:perspective(400px) rotateY(0);opacity:1}}@keyframes flipY{0%{transform:perspective(400px) rotateX(90deg);opacity:0}100%{transform:perspective(400px) rotateX(0);opacity:1}}@keyframes blurIn{0%{filter:blur(10px);transform:scale(.98);opacity:0}100%{filter:blur(0);transform:scale(1);opacity:1}}@keyframes glowIn{0%{opacity:0;filter:drop-shadow(0 0 0 rgba(255, 102, 0, 0));transform:scale(.95)}50%{opacity:.7;filter:drop-shadow(0 0 12px rgba(255, 102, 0, .8));transform:scale(1.02)}100%{opacity:1;filter:drop-shadow(0 0 0 rgba(255, 102, 0, 0));transform:scale(1)}}@keyframes bounceIn{0%{transform:scale(.9);opacity:0}60%{transform:scale(1.05);opacity:.9}100%{transform:scale(1);opacity:1}}@keyframes slideRotate{0%{transform:translateX(-40px) rotate(-10deg);opacity:0}100%{transform:translateX(0) rotate(0);opacity:1}}.animate-on-scroll.fade-up.visible,.fade-up.visible{animation:fadeUp .6s cubic-bezier(.2,.9,.4,1.1) forwards;animation-delay:var(--animation-delay, 0s)}.fade-down.visible{animation:fadeDown .6s cubic-bezier(.2,.9,.4,1.1) forwards;animation-delay:var(--animation-delay, 0s)}.fade-left.visible{animation:fadeLeft .6s cubic-bezier(.2,.9,.4,1.1) forwards;animation-delay:var(--animation-delay, 0s)}.fade-right.visible{animation:fadeRight .6s cubic-bezier(.2,.9,.4,1.1) forwards;animation-delay:var(--animation-delay, 0s)}.zoom-in.visible{animation:zoomIn .6s cubic-bezier(.2,.9,.4,1.1) forwards;animation-delay:var(--animation-delay, 0s)}.zoom-out.visible{animation:zoomOut .6s cubic-bezier(.2,.9,.4,1.1) forwards;animation-delay:var(--animation-delay, 0s)}.rotate-in.visible{animation:rotateIn .6s cubic-bezier(.2,.9,.4,1.1) forwards;animation-delay:var(--animation-delay, 0s)}.shake.visible{animation:shake .5s ease-in-out forwards;animation-delay:var(--animation-delay, 0s)}.flip-x.visible{animation:flipX .6s ease-out forwards;animation-delay:var(--animation-delay, 0s)}.flip-y.visible{animation:flipY .6s ease-out forwards;animation-delay:var(--animation-delay, 0s)}.blur-in.visible{animation:blurIn .5s cubic-bezier(.2,.9,.4,1.1) forwards;animation-delay:var(--animation-delay, 0s)}.glow-in.visible{animation:glowIn .5s ease-out forwards;animation-delay:var(--animation-delay, 0s)}.bounce-in.visible{animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55) forwards;animation-delay:var(--animation-delay, 0s)}.slide-rotate.visible{animation:slideRotate .5s ease-out forwards;animation-delay:var(--animation-delay, 0s)}.delay-100{--animation-delay:0.1s}.delay-150{--animation-delay:0.15s}.delay-200{--animation-delay:0.2s}.delay-250{--animation-delay:0.25s}.delay-300{--animation-delay:0.3s}.delay-350{--animation-delay:0.35s}.delay-400{--animation-delay:0.4s}.delay-450{--animation-delay:0.45s}.delay-500{--animation-delay:0.5s}.delay-550{--animation-delay:0.55s}.delay-600{--animation-delay:0.6s}.delay-650{--animation-delay:0.65s}.delay-700{--animation-delay:0.7s}.delay-750{--animation-delay:0.75s}.delay-800{--animation-delay:0.8s}.delay-850{--animation-delay:0.85s}.delay-900{--animation-delay:0.9s}@media (prefers-reduced-motion:reduce){.animate-on-scroll,.animate-on-scroll.visible,.blur-in.visible,.bounce-in.visible,.flip-x.visible,.flip-y.visible,.glow-in.visible,.shake.visible,.slide-rotate.visible,.visible,.visible *{animation:none!important;transition:none!important;transform:none!important;filter:none!important;opacity:1!important}}body:not(.app-ready) .page-loader{display:flex}body.app-ready .page-loader{display:none}body.app-ready>footer,body.app-ready>main,body.app-ready>nav,body.app-ready>section{visibility:visible;opacity:1}.navbar{position:fixed;top:0;left:0;right:0;z-index:calc(var(--z-fixed) + 20);background:var(--vd);transition:background-color var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth);min-height:70px;padding:0 5%;display:flex;align-items:center}.navbar-content{max-width:1400px;width:100%;margin:0 auto;display:flex;justify-content:space-between;align-items:center;min-height:inherit}.logo{display:flex;align-items:center;gap:1rem}.logo-image{height:100%;width:auto;object-fit:contain;max-height:none;max-width:clamp(300px,25vw,350px)}.nav-links{display:flex;flex-wrap:wrap;gap:.3rem 1.5rem;align-items:center;list-style:none;margin:0 0 0 1rem;padding:0}.nav-links a{display:flex;align-items:center;padding:.25rem .5rem;height:auto;color:#fff;text-decoration:none;font-weight:500;font-size:clamp(.875rem, 1.2vw, 1rem);border-radius:50px;transition:color var(--duration-fast) var(--ease-smooth),transform var(--duration-fast) var(--ease-smooth);position:relative}.nav-links a:focus-visible{outline:3px solid #9CA3AF;outline-offset:2px;box-shadow:0 0 0 4px rgba(156,163,175,.3);transform:none!important}.nav-links a:hover{background:0 0;color:#fff;transform:translateY(-2px)}.nav-links a:focus-visible:hover{transform:none!important}.nav-links a.active{color:#fff}.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:rgba(255,255,255,.6);border-radius:50% 50% 0 0;transform:scaleX(0);transform-origin:center;transition:transform var(--duration-normal) var(--ease-smooth)}.nav-links a:hover::after{transform:scaleX(1)}.nav-links a:focus-visible::after{transform:scaleX(0)}.nav-links a.active::after{transform:scaleX(1);background:rgba(255,255,255,.8);height:2px}.mobile-menu-btn{display:none;flex-direction:column;gap:6px;background:0 0;border:none;cursor:pointer;z-index:calc(var(--z-fixed) + 30);align-items:center;justify-content:center;height:100%}.mobile-menu-btn span{width:28px;height:3px;background:#fff;border-radius:2px;transition:transform var(--duration-fast) var(--ease-smooth),opacity var(--duration-fast) var(--ease-smooth)}.mobile-menu{position:fixed;top:0;right:0;width:220px;max-width:75%;height:100dvh;background:var(--vd);z-index:calc(var(--z-fixed) + 10);display:flex;flex-direction:column;padding-top:70px;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:1.5rem;transform:translateX(100%);transition:transform .3s cubic-bezier(.4, 0, .2, 1);box-shadow:var(--shadow-nav);overflow-y:auto;touch-action:pan-y}.mobile-menu.active{transform:translateX(0)}.mobile-menu a{color:#fff;text-decoration:none;font-size:clamp(.95rem, 3.5vw, 1.1rem);font-weight:500;padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.2);transition:transform var(--duration-fast) var(--ease-smooth),opacity var(--duration-fast) var(--ease-smooth);display:block;border-radius:50px;padding-left:1.25rem}.mobile-menu a[tabindex="-1"]{pointer-events:none}.mobile-menu a:focus-visible{outline:3px solid #9CA3AF;outline-offset:2px;box-shadow:0 0 0 4px rgba(156,163,175,.3);transform:none}.mobile-menu a:hover{background:rgba(255,255,255,.15);padding-left:.85rem;padding-right:.85rem;margin-left:-.85rem;margin-right:-.85rem;transform:translateX(6px);border-bottom-color:transparent}.mobile-menu a:focus-visible:hover{transform:none}.mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:0 0;z-index:calc(var(--z-fixed) + 5);opacity:0;visibility:hidden;transition:transform var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),background-color var(--duration-normal) var(--ease-smooth);pointer-events:none}.mobile-menu-overlay.active{opacity:1;visibility:visible;pointer-events:auto}.hero{position:relative;display:flex;align-items:center;justify-content:center;padding:calc(var(--navbar-height) + 2rem) 3% 3rem;overflow:hidden;background:var(--vd-light-blue);color:#004e96}.hero-content{position:relative;z-index:2;max-width:1400px;width:100%}.hero-wrapper{display:flex;align-items:stretch;gap:clamp(2rem,5vw,4rem);width:100%}.hero-text{flex:1;max-width:600px}.hero-slideshow{flex:1;display:flex;max-width:none;position:relative}.slideshow-container{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:12px;box-shadow:0 10px 40px rgba(0,78,150,.15);background:rgba(255,255,255,.9)}.slideshow-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s ease;box-shadow:0 4px 8px rgba(0,0,0,.08)}.slideshow-btn:hover{background:var(--vd)}.slideshow-btn:hover svg{fill:white}.slideshow-btn svg{width:24px;height:24px;fill:var(--vd);transition:fill .2s}.slideshow-btn,.slideshow-indicators{opacity:0;transition:opacity .3s ease}.slideshow-btn:focus-visible,.slideshow-container:hover .slideshow-btn,.slideshow-container:hover .slideshow-indicators,.slideshow-indicator:focus-visible{opacity:1}.slideshow-prev{left:16px}.slideshow-next{right:16px}.slideshow-indicators{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:10;background:var(--vd-light-blue);backdrop-filter:blur(4px);padding:6px 12px;border-radius:40px}.slideshow-indicator{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.6);border:none;cursor:pointer;padding:0;transition:all .2s}.slideshow-indicator.active{background:var(--vd-blue);transform:scale(1.2)}.slideshow-indicator:hover{background:var(--vd)}.slideshow-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 1s ease-in-out}.slideshow-slide.active{opacity:1}.slideshow-slide img{width:100%;height:100%;object-fit:cover;display:block;cursor:default;transition:transform .5s ease}.slideshow-slide img:hover{transform:scale(1.02)}.hero-slideshow .slideshow-container:hover{animation-play-state:paused}@media (max-width:1048px){.hero-slideshow .slideshow-container{animation:none}}.hero-text h1{font-size:clamp(1.8rem, 4vw, 3rem);font-weight:800;color:var(--vd);line-height:1.15;margin-bottom:clamp(1rem,2vh,1.5rem);letter-spacing:-.02em}.hero-text h1 span{color:var(--vd)}.hero-text p{font-size:clamp(1rem, 2vw, 1.2rem);color:var(--metallic);line-height:1.7;margin-bottom:clamp(1.5rem,3vh,2.5rem);max-width:650px;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;hyphens:auto}.hero-buttons{display:flex;gap:clamp(.75rem,2vw,1rem);justify-content:flex-start;flex-wrap:wrap;margin-top:clamp(1.5rem,3vh,2rem)}.hero-stats{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:1.25rem;margin-top:clamp(2rem,4vh,3rem);padding-top:clamp(1rem,2vh,2rem);border-top:1px solid rgba(0,78,150,.15)}.stat-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.6rem .5rem;background:rgba(255,255,255,.7);border-radius:20px;box-shadow:0 8px 32px rgba(0,78,150,.15);backdrop-filter:blur(40px) saturate(180%);border:1px solid rgba(255,255,255,.9);transition:transform .3s cubic-bezier(.68, -.55, .265, 1.55),background .3s ease,border-color .3s ease,box-shadow .3s ease;text-align:center}.stat-item:hover{background:var(--vd);transform:scale(1.05);border-color:var(--vd);box-shadow:0 10px 25px rgba(0,78,150,.2)}.stat-number{font-size:clamp(1.5rem, 4vw, 2.5rem);font-weight:800;color:var(--vd);line-height:1.1;margin-bottom:.25rem;white-space:nowrap;font-variant-numeric:tabular-nums}.stat-item:hover .stat-label,.stat-item:hover .stat-number{color:#fff;transition:color .3s ease}.stat-label{font-size:clamp(.75rem, 1.5vw, .9rem);color:var(--metallic);font-weight:600;line-height:1.3;word-break:normal}.stat-link{display:block;text-decoration:none;color:inherit;flex:1;min-width:0}.stat-link .stat-item{transition:transform .3s cubic-bezier(.68, -.55, .265, 1.55),background .3s ease,border-color .3s ease,box-shadow .3s ease}.stat-link:hover .stat-item{background:var(--vd);transform:scale(1.05);border-color:var(--vd);box-shadow:0 10px 25px rgba(0,78,150,.2)}.stat-link:hover .stat-label,.stat-link:hover .stat-number{color:#fff}.btn-primary{background:var(--gradient-orange);color:#fff;padding:clamp(.75rem,1.5vw,1rem) clamp(1.5rem,3vw,2rem);border-radius:var(--radius-full);text-decoration:none;font-weight:600;font-size:clamp(.875rem, 1.2vw, 1rem);display:inline-flex;align-items:center;gap:.75rem;border:none;cursor:pointer;box-shadow:var(--shadow-orange-sm);transition:var(--transition-base);position:relative;overflow:hidden}.btn-primary::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent);pointer-events:none;animation:btnShine 3.5s ease-in-out infinite;transform:translateX(-100%)}@keyframes btnShine{0%{transform:translateX(-100%)}25%{transform:translateX(100%)}100%{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.btn-primary::after{animation:none;display:none}}.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-orange-md);background:var(--gradient-orange-reverse)}.btn-primary svg{width:20px;height:20px;fill:white;display:block;transition:transform var(--duration-normal) var(--ease-elastic)}.btn-primary:hover svg{transform:translateX(5px)}.btn-secondary{background:0 0;color:var(--vd);padding:clamp(.7rem,1.3vw,.9rem) clamp(1.3rem,2.5vw,1.8rem);border-radius:50px;text-decoration:none;font-weight:600;font-size:clamp(.875rem, 1.2vw, 1rem);border:2px solid var(--vd);cursor:pointer;transition:transform var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),background-color var(--duration-normal) var(--ease-smooth);display:inline-flex;align-items:center;gap:.75rem}.btn-secondary:hover{border-color:var(--vd);color:var(--vd-dark);transform:translateY(-2px)}.btn-secondary svg{width:18px;height:18px;fill:currentColor}.services{padding:clamp(20px,8vh,25px) 5%;background:#fff;scroll-margin-top:80px}.section-header{text-align:center;max-width:850px;margin:0 auto clamp(1rem,3vh,2rem)}.section-tag{display:inline-block;background:var(--vd-light-blue);color:var(--vd);padding:.25rem .85rem;border-radius:50px;font-size:clamp(.65rem, .9vw, .75rem);font-weight:600;margin-bottom:.85rem}.section-header h2{font-size:clamp(1.4rem, 3.5vw, 2.2rem);font-weight:700;color:var(--vd);margin-bottom:.85rem}.section-header p{color:var(--metallic);line-height:1.55;font-size:clamp(.825rem, 1.1vw, .95rem)}.card{background:var(--vd-light-gray);height:320px;border-radius:20px;padding:clamp(1rem,3vw,1.5rem);border:1px solid rgba(0,0,0,.05);position:relative;overflow:hidden;display:flex;flex-direction:column}.card::before{content:'';position:absolute;top:0;left:-100%;right:100%;height:3px;background:var(--vd);transition:left .5s ease,right .5s ease}.card:hover::before{left:0;right:0}.card:hover{transform:translateY(-10px);box-shadow:0 25px 45px rgba(0,0,0,.12)}.card-title{font-size:clamp(1.1rem, 2vw, 1.25rem);font-weight:700;margin-bottom:1rem;color:var(--vd)}.card-desc{color:var(--metallic);line-height:1.6;font-size:clamp(.85rem, 1.2vw, .95rem);flex:1;overflow-y:auto;padding-bottom:0}.service-card--fullwidth{grid-column:1/-1}.service-card-link,.service-card-link *{text-decoration:none}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(1.5rem,3vw,2rem);max-width:1400px;margin:0 auto;align-items:start}.service-icon{width:60px;height:60px;background:var(--vd-light-blue);border-radius:15px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;border:1px solid var(--vd-light-blue);box-shadow:0 4px 15px rgba(0,78,150,.1),inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(255,255,255,.1),0 0 0 2px rgba(0,78,150,.1);position:relative;overflow:hidden;fill:var(--vd);transition:fill var(--duration-normal) var(--ease-smooth);flex-shrink:0}.service-icon::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.service-card:hover .service-icon::before{left:100%}.service-card:hover .service-icon{background:var(--vd);fill:white}.service-icon svg{width:50px;height:50px;transition:all .4s ease}.service-card:hover .service-icon svg{filter:drop-shadow(0 4px 8px rgba(0, 78, 150, .5));transform:scale(1.1);fill:white}.service-card:hover .service-icon{transform:translateY(-6px);box-shadow:0 8px 20px rgba(0,78,150,.3)}.about-preview--home .about-content{align-items:stretch}.about-preview--home .about-image{display:flex;align-self:stretch}.about-preview--home .about-image img{width:100%;height:100%;object-fit:cover}.about-preview{padding:clamp(20px,8vh,25px) 5%;background:var(--vd-light-gray)}.about-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3rem);align-items:center}.about-image{display:flex;gap:1.5rem;flex-wrap:wrap;align-self:start}.about-image-inline{cursor:default}.about-image img{width:100%;height:auto;display:block;border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.1);transition:transform var(--duration-slow) var(--ease-smooth)}.about-image:hover img{transform:scale(1.02)}.about-text h2{font-size:clamp(1.3rem, 4vw, 2rem);font-weight:700;color:var(--vd);margin-bottom:1.5rem}.about-text p{color:var(--metallic);line-height:1.7;margin-bottom:1rem;font-size:clamp(.875rem, 1.2vw, 1rem)}.projects-preview{padding:clamp(20px,8vh,25px) 5%}.cta-block{text-align:center;margin-top:clamp(1.5rem,3vh,2.5rem)}.cta-block .btn-primary{background:#2a6bb0;color:#fff}.cta-block .btn-primary:hover{background:var(--vd)}.news-preview{padding:clamp(20px,8vh,25px) 5%;background:#fff}.news-preview-inline{padding:clamp(20px,8vh,25px) 5%;background:var(--vd-light-gray)}.preview-news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1400px;margin:0 auto}.news-grid-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1400px;margin:0 auto}.news-card--compact{display:flex;flex-direction:column;grid-template-columns:none;margin-bottom:0}.news-card--compact .news-card-image{width:100%;height:200px}.news-card--compact .news-card-content{flex:1}.news-card-link{color:var(--vd);text-decoration:none;font-weight:600;font-size:clamp(.8rem, 1.2vw, .9rem);display:inline-flex;align-items:center;gap:.5rem;transition:transform var(--duration-normal) var(--ease-elastic),gap var(--duration-normal) var(--ease-elastic);background:0 0;border:none;cursor:pointer;padding:.5rem 0;margin-top:auto;width:fit-content}.news-card-link:hover{gap:1rem;color:var(--vd-dark)}.news-card-link svg{width:18px;height:18px;fill:currentColor;transition:transform var(--duration-normal) var(--ease-elastic)}.news-card-link:hover svg{transform:translateX(5px)}.partners{padding:clamp(20px,8vh,25px) 5%;background:#fff}.partners-header{text-align:center;max-width:900px;margin:0 auto 3rem}.partners-header h2{font-size:clamp(1.5rem, 4vw, 2rem);font-weight:700;color:var(--vd);margin-bottom:1rem}.partners-header p{color:var(--metallic);font-size:clamp(.875rem, 1.2vw, 1rem)}.partners-collage{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-auto-rows:120px;gap:1.5rem;max-width:1400px;margin:0 auto;grid-auto-flow:dense}.collage-item{background:#fff;border:1px solid var(--border-color);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),background-color var(--duration-normal) var(--ease-smooth);box-shadow:0 2px 8px rgba(0,0,0,.05);padding:1rem}.collage-item.item-large{grid-column:span 2;grid-row:span 2}.collage-item.item-medium{grid-column:span 2;grid-row:span 1}.collage-item.item-small{grid-column:span 1;grid-row:span 1}.collage-item:hover{border-color:var(--vd);transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,.1)}.collage-item .partner-logo img,.collage-item .partner-logo svg{max-width:100%;height:auto;object-fit:contain}.collage-item .partner-logo img,.item-large .partner-logo svg{max-height:110px}.collage-item .partner-logo img,.item-medium .partner-logo svg{max-height:90px}@media (max-width:768px){.partners-collage{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-auto-rows:100px;gap:1rem}.collage-item.item-large,.collage-item.item-medium{grid-column:span 1;grid-row:span 1}.item-large .partner-logo svg,.item-medium .partner-logo svg{max-height:40px}.item-large .partner-name,.item-medium .partner-name{font-size:.8rem}}#appError{background:#f8d7da;color:#721c24;padding:1rem;margin:1rem;border-radius:8px}#appError .reload-btn{margin-top:.5rem;padding:.5rem 1rem;cursor:pointer}.error-message{display:block;font-size:.7rem;line-height:1.2rem;color:#dc2626;margin-top:.2rem;margin-bottom:0;opacity:0;visibility:hidden;transition:opacity .15s ease}.error-message.show{opacity:1;visibility:visible}form .error-message:not(.show){display:none;min-height:0;height:0;margin:0;padding:0}form .error-message.show{display:block;min-height:1.2rem;height:auto;margin-top:.2rem}.form-input.error,.form-select.error,.form-textarea.error{border-color:#dc2626;background-color:rgba(220,38,38,.05)}.form-agreement-checkbox .error-message{margin-left:1.75rem;margin-top:.1rem}.contact{padding:clamp(20px,8vh,25px) 5%;background:var(--vd-light-gray);scroll-margin-top:100px}.contact-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem}.contact-info{display:flex;flex-direction:column}.contact-info h2{font-size:clamp(1.5rem, 4vw, 2rem);font-weight:700;margin-bottom:1rem;color:var(--vd)}.contact-info>p{color:var(--metallic);line-height:1.6;margin-bottom:2rem;font-size:clamp(.875rem, 1.2vw, 1rem)}.contact-details{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.contact-item{display:flex;align-items:flex-start;gap:1rem}.contact-icon{width:50px;height:50px;background:var(--vd-light-blue);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--duration-normal) var(--ease-smooth)}.contact-item:hover .contact-icon{background:var(--vd)}.contact-icon svg{width:24px;height:24px;fill:var(--vd);transition:fill var(--duration-normal) var(--ease-smooth)}.contact-item:hover .contact-icon svg{fill:white}.contact-item-text h4{font-weight:700;margin-bottom:.25rem;color:var(--vd);font-size:clamp(.9rem, 1.2vw, 1rem)}.contact-item-text a,.contact-item-text p{color:var(--metallic);font-size:clamp(.85rem, 1.2vw, .95rem);text-decoration:none;transition:color var(--duration-fast) var(--ease-smooth)}.contact-item-text a:hover{color:var(--vd)}.map-section{display:flex;flex-direction:column;margin-top:0;padding-top:0;border-top:none}.map-section h2{font-size:clamp(1.5rem, 4vw, 2rem);font-weight:700;margin-bottom:1rem;color:var(--vd)}.map-link{display:block;cursor:pointer}.map-container-inline{width:100%;height:350px;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.1)}.iframe-borderless{border:none;display:block}.commercial-offer-container{background:#fff}.commercial-offer-container h2{font-size:clamp(1.3rem, 3vw, 2rem);font-weight:700;margin-bottom:1rem;color:var(--vd)}.footer{background:var(--vd);padding:50px}.footer-legal{max-width:1400px;margin:0 auto;padding-top:1.5rem;padding-bottom:1.5rem;border-top:1px solid rgba(255,255,255,.2)}.footer-legal ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}.footer-legal a{color:rgba(255,255,255,.95);text-decoration:none;font-size:clamp(.75rem, 1vw, .85rem);transition:color var(--duration-normal) var(--ease-smooth)}.footer-legal a:hover{color:var(--vd-light-blue)}.footer-bottom{max-width:1400px;margin:0 auto;padding-top:2rem;border-top:1px solid rgba(255,255,255,.2);text-align:center;color:rgba(255,255,255,.75);font-size:clamp(.75rem, 1vw, .85rem)}.scroll-to-top{position:fixed;bottom:2rem;left:2rem;width:50px;height:50px;background:var(--vd-orange);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transition:transform var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),background-color var(--duration-normal) var(--ease-smooth);border:none;z-index:900;box-shadow:0 4px 15px rgba(0,0,0,.2)}.scroll-to-top.visible{opacity:1;visibility:visible}.scroll-to-top:hover{background:var(--vd-orange);transform:translateY(-5px)}.scroll-to-top svg{width:24px;height:24px;fill:white}.floating-cta-btn{position:fixed;bottom:2rem;right:2rem;z-index:var(--z-fixed);opacity:0;visibility:hidden}.floating-cta-btn.visible{opacity:1;visibility:visible}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,45,70,.92);z-index:3000;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:opacity var(--duration-normal) var(--ease-smooth),visibility var(--duration-normal) var(--ease-smooth);overflow-y:auto;overflow-x:hidden;will-change:opacity}.modal-overlay.active{opacity:1;visibility:visible}.modal-container{background:#fff;border-radius:var(--radius-lg,20px);width:100%;max-width:min(90vw,800px);max-height:90vh;height:auto;display:flex;flex-direction:column;overflow:visible;transition:transform .2s ease,opacity .2s ease;position:relative;margin:0;will-change:transform,opacity;backface-visibility:hidden;transform:scale(.95) translateZ(0)}.modal-container .modal-image{width:100%;max-height:50vh;object-fit:contain;display:block;background-color:#f5f5f5;cursor:zoom-in;transition:opacity .2s ease;flex-shrink:0}.modal-container.no-transition{transition:none}.modal-container.no-transition *{transition:none;animation:none}.modal-overlay.active .modal-container{transform:scale(1) translateZ(0)}.modal-body{flex:0 1 auto;overflow-y:auto;padding:1rem 1.5rem;min-height:0}#policyModalOverlay .modal-container{max-width:min(90vw,900px)}.modal-overlay-proposal .modal-container,.modal-overlay-universal .modal-container{max-width:min(90vw,662px)}.modal-image{max-width:100%;height:auto;object-fit:contain;background:#f5f5f5}.modal-image-container{display:flex;align-items:center;justify-content:center;background:#f5f5f5;min-height:auto;max-height:none;height:auto;overflow:hidden}.radio-group{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.25rem}.radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}fieldset.radio-group-fieldset{border:none;padding:0;margin:0;min-width:0;width:100%}fieldset.radio-group-fieldset>legend.form-label{display:block;padding:0;margin:0 0 .5rem 0;float:none;width:100%}.radio-label input[type=radio]{margin:0;width:18px;height:18px;cursor:pointer}.modal-image-container .gallery-indicators,.modal-image-container .gallery-nav{opacity:0;transition:opacity .3s ease}.modal-image-container:hover .gallery-indicators,.modal-image-container:hover .gallery-nav{opacity:1}.modal-image-container .gallery-nav:hover{opacity:1}@media (hover:none){.lightbox-content .lightbox-indicators,.modal-image-container .gallery-indicators{opacity:1}.lightbox-content .lightbox-nav{opacity:0;pointer-events:none}}.modal-close{position:absolute;top:12px;right:12px;z-index:20;width:40px;height:40px;background:rgba(255,255,255,.95);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 2px 12px rgba(0,0,0,.15);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.modal-close svg{width:22px;height:22px;fill:#1a1a1a;transition:fill .2s ease}.modal-close:hover{background:#fff;transform:scale(1.08);box-shadow:0 4px 16px rgba(0,0,0,.25)}.modal-close:hover svg{fill:#000000}.modal-close:focus-visible{outline:3px solid #9CA3AF;outline-offset:2px}.modal-back-btn{background:0 0;border:none;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--vd,#004e96);padding:.5rem .75rem;margin-right:.5rem;border-radius:8px;transition:background-color .2s ease;display:inline-flex;align-items:center;gap:.25rem}.modal-back-btn:hover{background-color:rgba(0,78,150,.1)}.modal-back-btn:focus-visible{outline:3px solid #9CA3AF;outline-offset:2px}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:3px}.modal-body::-webkit-scrollbar-thumb{background:rgba(0,78,150,.3);border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:rgba(0,78,150,.5)}#newsModalOverlay .modal-image{width:100%;height:clamp(200px,30vh,300px);object-fit:contain;background:#f5f5f5;display:block;cursor:zoom-in;transition:opacity .2s ease}#newsModalOverlay .modal-image-container{margin-bottom:1.5rem}#policyModalOverlay .modal-body{padding:1rem 2rem 2rem 2rem;font-size:.95rem;line-height:1.65;color:#1e293b}#policyModalOverlay .modal-body h2{font-size:1.5rem;font-weight:700;color:var(--vd);margin:1.5rem 0 .75rem 0;padding-bottom:.5rem;border-bottom:2px solid #eef2ff}#policyModalOverlay .modal-body h2:first-of-type{margin-top:0}#policyModalOverlay .modal-body h3{font-size:1.25rem;font-weight:600;color:var(--vd-dark);margin:1.25rem 0 .5rem 0}#policyModalOverlay .modal-body p{margin-bottom:.75rem}#policyModalOverlay .modal-body ol,#policyModalOverlay .modal-body ul{margin:.5rem 0 1rem 1.5rem;padding-left:.5rem}#policyModalOverlay .modal-body li{margin-bottom:.35rem}#policyModalOverlay .modal-body a{color:var(--vd);text-decoration:underline;text-underline-offset:2px}#policyModalOverlay .modal-body a:hover{color:var(--vd-dark);text-decoration:none}.date-picker{display:flex;flex-direction:column;gap:8px;position:fixed;top:var(--picker-top,auto);left:var(--picker-left,auto);z-index:9999;background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.15);padding:16px;width:260px;font-family:Montserrat,sans-serif;box-sizing:border-box;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease}.date-picker.visible{opacity:1;visibility:visible;pointer-events:auto}@media (max-width:480px){.date-picker.visible{left:50%;transform:translateX(-50%)}}.date-picker.centered{left:50%;transform:translateX(-50%)}.date-picker .date-picker-header{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.date-picker .date-picker-nav{display:flex;gap:4px}.date-picker .date-picker-nav button{background:0 0;border:none;font-size:18px;cursor:pointer;padding:0 6px;color:#004e96;line-height:1}.date-picker .date-picker-nav button:hover{color:#002f5f}.date-picker .date-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.date-picker .date-picker-grid .day-name{font-size:11px;font-weight:600;color:#666;text-align:center;padding:6px 0}.date-picker .date-picker-grid .day-cell{text-align:center;padding:8px 0;border-radius:6px;cursor:pointer;font-size:14px;transition:background .15s;color:#333}.date-picker .date-picker-grid .day-cell:hover{background:#f0f4ff}.date-picker .date-picker-grid .day-cell.today{font-weight:700;color:#004e96}.date-picker .date-picker-grid .day-cell.selected{background:#004e96;color:#fff}.date-picker .date-picker-grid .day-cell.empty{cursor:default}.date-picker select{display:inline-block;width:auto;max-width:90px;background:#fff;border:1px solid #ccc;border-radius:4px;padding:4px 8px;font-size:14px;font-family:inherit;margin:0 2px;height:auto}.date-picker .date-picker-header{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.date-picker .date-picker-nav button{background:0 0;border:none;font-size:18px;cursor:pointer;padding:0 6px;color:#004e96;line-height:1}.date-picker .date-picker-nav button:hover{color:#002f5f}.form-group{position:relative;margin-bottom:1rem}.form-required-note{color:var(--error-color);font-size:.85rem;margin-top:.25rem;margin-bottom:.5rem}.form-group-row{display:flex;gap:1rem;margin-bottom:.5rem;flex-wrap:wrap}.form-group-col{flex:1;min-width:180px}.form-group .date-picker.visible{display:flex}@media (max-width:768px){.form-group-row{flex-direction:column;gap:.5rem}.form-group-col{min-width:100%;flex:none}}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-left:8px}@keyframes spin{to{transform:rotate(360deg)}}.form-input,.form-select,.form-textarea{width:100%;padding:.8rem 1rem;border:2px solid transparent;border-radius:12px;background:var(--vd-light-gray);font-family:inherit;font-size:clamp(.85rem, 1.2vw, .95rem);color:var(--text-dark);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.form-phone-group{display:flex;gap:.5rem}.form-input-phone{flex:1}.form-input-extension{width:100px}.form-label{display:block;font-weight:600;color:var(--vd);margin-bottom:.5rem;font-size:clamp(.8rem, 1.2vw, .9rem)}.form-label .required{color:var(--error-color);margin-left:3px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--vd);background:#fff;box-shadow:0 0 0 3px rgba(0,78,150,.15)}.form-input.error,.form-select.error,.form-textarea.error{border-color:#dc2626;background-color:rgba(220,38,38,.05)}.form-textarea{min-height:60px;height:60px;resize:none;overflow-y:hidden}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:3rem}.form-file{position:relative;border:2px dashed var(--border-color);border-radius:12px;padding:.75rem;text-align:center;background:var(--vd-light-gray);transition:transform var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),background-color var(--duration-normal) var(--ease-smooth);cursor:pointer;min-height:120px}.form-file.drag-over{border-color:var(--vd-blue);background:rgba(0,51,160,.05)}.form-file.has-file{border-style:solid;border-color:var(--success-color);background:rgba(16,185,129,.05)}.form-file input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:10}.form-file-name svg:hover{fill:#c62828}.form-file-icon{width:32px;height:32px;margin:0 auto .5rem;background:rgba(0,78,150,.2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) var(--ease-elastic);border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 10px rgba(0,78,150,.15),inset 0 1px 0 rgba(255,255,255,.4)}.form-file-icon:hover{background:rgba(0,78,150,.3);transform:scale(1.1);box-shadow:0 6px 15px rgba(0,78,150,.25),inset 0 1px 0 rgba(255,255,255,.5)}.form-file-icon svg{width:16px;height:16px;filter:drop-shadow(0 1px 2px rgba(0, 78, 150, .3))}.form-file-text{font-weight:600;color:var(--text-dark);margin-bottom:.25rem;font-size:.85rem}.form-file-hint{font-size:.7rem;color:var(--metallic)}.form-file-name{display:none;margin-top:.5rem;padding:.4rem .6rem;background:#fff;border-radius:8px;font-size:.8rem;align-items:center;justify-content:space-between}.form-file-name.show{display:flex}.form-file-name svg{width:16px;height:16px;fill:var(--error-color);cursor:pointer}.form-file-list{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:30}.form-file-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .8rem;background:#fff;border-radius:8px;font-size:.85rem;box-shadow:0 2px 4px rgba(0,0,0,.05);position:relative;z-index:30}.form-file-item-name{flex:1;color:var(--text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:.5rem}.form-file-item-size{color:var(--metallic);font-size:.75rem;margin-right:.5rem}.form-file-item-remove{background:0 0;border:none;padding:.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background var(--duration-normal) var(--ease-smooth);position:relative;z-index:20}.form-file-item-remove:hover{background:rgba(239,68,68,.1)}.form-file-item-remove svg{width:18px;height:18px;fill:var(--error-color)}.upload-warning-container{position:relative;margin-bottom:10px;z-index:10}.upload-warning{background:rgba(239,68,68,.95);color:#fff;padding:.75rem 1rem;border-radius:8px;font-size:.85rem;font-weight:500;text-align:center;box-shadow:0 4px 12px rgba(239,68,68,.3);animation:slideDown .3s ease-out;display:block;width:100%}.upload-warning-container.form-file-limit-hidden{display:none}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-agreement{background:var(--vd-light-gray);border-radius:12px;padding:.75rem;margin-bottom:1rem}.form-agreement-text{font-size:.8rem;color:var(--metallic);line-height:1.5}.form-agreement-text a{color:var(--vd);text-decoration:underline}.form-submit{width:100%;background:var(--vd);color:#fff;padding:1rem 1.5rem;border-radius:12px;border:none;font-family:inherit;font-size:clamp(.9rem, 1.2vw, 1rem);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:transform var(--duration-normal) var(--ease-elastic),gap var(--duration-normal) var(--ease-elastic)}.form-submit:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,78,150,.3);background:var(--vd-dark)}.form-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-submit svg{width:20px;height:20px;fill:white}.form-submit .spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.success-message{background:rgba(16,185,129,.1);border:1px solid var(--success-color);border-radius:12px;padding:1.5rem;text-align:center;display:none}.success-message.show{display:block}.success-icon{width:60px;height:60px;margin:0 auto 1rem;background:rgba(16,185,129,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 15px rgba(16,185,129,.2),inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(255,255,255,.1)}.success-icon svg{width:30px;height:30px;filter:drop-shadow(0 2px 4px rgba(16, 185, 129, .3))}.success-title{font-size:clamp(1rem, 2vw, 1.2rem);font-weight:700;color:var(--vd);margin-bottom:.5rem}.success-text{color:var(--metallic);line-height:1.5;font-size:clamp(.85rem, 1.2vw, .95rem)}.hp-field{position:absolute;left:-9999px;opacity:0;pointer-events:none}.rate-limit-warning{background:rgba(220,38,38,.1);border:1px solid var(--error-color);border-radius:12px;padding:1rem;margin-bottom:1.5rem;display:none}.rate-limit-warning.show{display:block}.rate-limit-warning p{color:var(--error-color);font-size:.9rem}.form-file-limit-warning{background:rgba(220,38,38,.1);border:1px solid var(--error-color);border-radius:8px;padding:.75rem 1rem;margin-top:.75rem;display:none}.form-file-limit-warning.form-file-limit-hidden{display:none}.form-file-limit-warning:not(.form-file-limit-hidden){display:block}.form-file-limit-warning p{color:var(--error-color);font-size:.85rem;margin:0}.modal-header{padding:clamp(1rem,3vw,1.1rem)}.modal-category{display:inline-block;background:var(--vd-light-blue);color:var(--vd);padding:.5rem 1.5rem;border-radius:30px;font-size:clamp(.75rem, 1.2vw, .85rem);font-weight:600;margin-bottom:1rem}.modal-date{color:var(--metallic);margin-bottom:1rem;font-size:clamp(.8rem, 1.2vw, .9rem)}.modal-title{font-size:clamp(1.3rem, 4vw, 1.8rem);font-weight:700;line-height:1.3;color:var(--vd)}.modal-content{color:var(--text-dark);line-height:1.8;font-size:clamp(.9rem, 1.2vw, 1rem)}.modal-content p{margin-bottom:1.5rem}.modal-list{list-style:none;padding:0;margin:0}.modal-list li{padding:.75rem 0;color:var(--metallic);font-size:clamp(.85rem, 1.2vw, .95rem);border-bottom:1px solid var(--border-color);position:relative;padding-left:1.75rem}.modal-list li::before{content:'✓';color:var(--vd);font-weight:700;position:absolute;left:0}.modal-image-container{position:relative;width:100%;height:clamp(200px,30vh,300px);background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:32px}.modal-image{width:100%;height:100%;object-fit:contain;display:block;cursor:zoom-in;transition:opacity .2s ease,transform .3s ease;flex-shrink:0}.modal-image:hover{opacity:.9}.gallery-image-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.gallery-image-wrapper,.lightbox-content{touch-action:none}.gallery-image-wrapper .modal-image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;background:rgba(255,255,255,.9);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:transform .3s ease,opacity .3s ease;padding:0;box-shadow:0 2px 8px rgba(0,0,0,.2)}.gallery-nav:hover{background:var(--vd-blue);box-shadow:0 4px 12px rgba(41,128,185,.4)}.gallery-nav:hover svg{fill:white}.gallery-nav svg{width:24px;height:24px;fill:#333;transition:fill .3s ease}.gallery-nav-prev{left:10px}.gallery-nav-next{right:10px}.gallery-indicators{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10}.gallery-indicator{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);border:none;cursor:pointer;padding:0;transition:transform .3s ease,opacity .3s ease}.gallery-indicator:hover{background:rgba(255,255,255,.8)}.gallery-indicator.active{background:var(--vd-blue);transform:scale(1.2)}.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;z-index:4000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.lightbox-overlay.active{opacity:1;visibility:visible}.lightbox-content{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.lightbox-image{max-width:95vw;max-height:95vh;width:auto;height:auto;object-fit:contain;border-radius:24px;box-shadow:0 10px 40px rgba(0,0,0,.5);cursor:default}.lightbox-close{position:absolute;top:20px;right:20px;width:40px;height:40px;background:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;z-index:10}.lightbox-close:hover{background:#f0f0f0}.lightbox-close svg{width:24px;height:24px;fill:#333}.lightbox-nav{opacity:0;position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;background:rgba(255,255,255,.9);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:transform .3s ease,opacity .3s ease;padding:0;box-shadow:0 2px 8px rgba(0,0,0,.2)}.lightbox-nav:hover{background:var(--vd-blue);box-shadow:0 4px 12px rgba(41,128,185,.4)}.lightbox-nav:hover svg{fill:white}.lightbox-nav svg{width:28px;height:28px;fill:#333;transition:fill .3s ease}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-indicators{opacity:0;transition:opacity .3s ease;position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:10}@media (hover:hover){.lightbox-content:hover .lightbox-indicators,.lightbox-content:hover .lightbox-nav{opacity:1}}.lightbox-indicator{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.5);border:none;cursor:pointer;padding:0;transition:transform .3s ease,opacity .3s ease}.lightbox-indicator:hover{background:rgba(255,255,255,.8)}.lightbox-indicator.active{background:var(--vd-blue);transform:scale(1.2)}.page-header{background:var(--vd-light-blue);padding:120px 5% 60px;text-align:center;color:#004e96}.page-header h1{font-size:clamp(1.8rem, 5vw, 2.5rem);margin-bottom:1rem}.page-header p{font-size:clamp(.9rem, 1.5vw, 1.1rem);max-width:800px;margin:0 auto;opacity:.9}.services-full .services-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.step{text-align:center}.step-number{width:80px;height:80px;background:var(--vd);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#fff;font-size:2rem;font-weight:700;transition:transform var(--duration-normal) var(--ease-elastic)}.step:hover .step-number{transform:scale(1.1);background:var(--vd-dark)}.step h3{color:var(--vd);margin-bottom:.5rem;font-size:clamp(1.1rem, 2vw, 1.25rem)}.step p{color:var(--metallic);font-size:clamp(.85rem, 1.2vw, .95rem)}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.contact-cta{padding:clamp(20px,8vh,25px) 5%;background:var(--vd-light-blue);text-align:center;color:#004e96;position:relative;overflow:hidden}.contact-cta h2{font-size:clamp(1.5rem, 4vw, 2rem);margin-bottom:1rem;position:relative;z-index:1}.contact-cta p{margin-bottom:2rem;font-size:clamp(.9rem, 1.5vw, 1.1rem);position:relative;z-index:1}.contact-cta .btn-primary{position:relative;z-index:1}.projects-full{padding:clamp(20px,8vh,25px) 5%}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1400px;margin:0 auto}.project-image{height:clamp(200px,25vw,250px);overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover}.project-content{padding:clamp(1rem,2vw,1.5rem)}.project-category{display:inline-block;background:var(--vd-light-blue);color:var(--vd);padding:.3rem 1rem;border-radius:20px;font-size:clamp(.7rem, 1vw, .8rem);font-weight:600;margin-bottom:1rem}.project-content h3{font-size:clamp(1rem, 2vw, 1.25rem);color:var(--vd);margin-bottom:.75rem}.project-content p{color:var(--metallic);line-height:1.6;margin-bottom:1rem;font-size:clamp(.85rem, 1.2vw, .95rem)}.project-card.card .project-content-padding{flex:1;display:flex;flex-direction:column}.project-card.card .news-card-link{margin-top:auto;align-self:flex-start}.news-full{padding:clamp(20px,8vh,25px) 5%}.news-tabs{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}.news-tab{padding:.75rem 2rem;background:var(--vd-light-gray);border:2px solid var(--border-color);border-radius:50px;font-family:inherit;font-size:clamp(.85rem, 1.2vw, 1rem);font-weight:600;color:var(--text-dark);cursor:pointer;transition:transform var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),background-color var(--duration-normal) var(--ease-smooth)}.news-tab:hover{border-color:var(--vd);color:var(--vd);transform:translateY(-2px)}.news-tab.active{background:var(--vd);border-color:transparent;color:#fff}.news-tab-content{display:none}.news-tab-content.active{display:block}.year-divider{display:flex;align-items:center;justify-content:center;gap:1.5rem;width:100%;margin:2rem 0}.year-divider-line{flex:1;height:2px;background:linear-gradient(90deg,transparent,var(--vd),transparent)}.year-divider-content{text-align:center;flex-shrink:0}.year-divider-year{font-size:clamp(1.5rem, 4vw, 2.5rem);font-weight:800;color:var(--vd);display:block;line-height:1}.year-divider-label{font-size:clamp(.7rem, 1.2vw, .85rem);color:var(--metallic);font-weight:500}.news-grid{max-width:1400px;margin:0 auto}.news-card{background:#fff;display:grid;grid-template-columns:35% 1fr;border-radius:20px;overflow:hidden;margin-bottom:1.5rem;box-shadow:0 2px 10px rgba(0,0,0,.05);border:1px solid var(--border-color);transition:transform var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),background-color var(--duration-normal) var(--ease-smooth);opacity:0;transform:translateX(-30px);height:auto;cursor:pointer}.news-card.loaded{opacity:1;transform:translateX(0)}.news-card:hover{box-shadow:0 15px 35px rgba(0,0,0,.1);transform:translateY(-4px)}.news-card-image{position:relative;width:100%;height:250px;overflow:hidden;background:var(--vd-light-gray);display:flex;align-items:center;justify-content:center}.news-card-image img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;object-position:center;transition:transform var(--duration-slower) var(--ease-smooth);opacity:0}.news-card-image img.loaded,.news-card-image img[data-src],.news-card-image img[src]{opacity:1}.news-card:hover .news-card-image img{transform:scale(1.08)}.news-card-category{display:inline-block;align-self:flex-start;background:var(--vd-light-blue);color:var(--vd);padding:.3rem 1rem;border-radius:20px;font-size:clamp(.7rem, 1vw, .8rem);font-weight:600;margin-bottom:.5rem}.news-card-content{padding:clamp(1rem,2vw,1.5rem);display:flex;flex-direction:column;background:#fff;overflow:hidden}.news-card-date{font-size:clamp(.75rem, 1.2vw, .85rem);color:var(--vd);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem;font-weight:600;flex-shrink:0}.news-card-date svg{width:16px;height:16px;fill:var(--vd)}.news-card-title{font-size:clamp(1rem, 2vw, 1.2rem);font-weight:700;margin-bottom:.75rem;line-height:1.4;color:var(--vd);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0}.news-card-excerpt{color:var(--metallic);line-height:1.6;font-size:clamp(.8rem, 1.2vw, .9rem);margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-card.hidden-news{display:none}.news-accordion-container{display:flex;justify-content:center;width:100%;margin-top:2rem}.news-accordion-btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:.85rem 2rem;background:var(--vd);color:#fff;border:none;border-radius:50px;font-family:inherit;font-size:clamp(.85rem, 1.2vw, .95rem);font-weight:600;cursor:pointer;transition:transform .3s ease,opacity .3s ease;box-shadow:0 4px 15px rgba(0,78,150,.3)}.news-accordion-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,78,150,.4);background:var(--vd-dark)}.news-accordion-btn .accordion-icon{width:20px;height:20px;filter:drop-shadow(0 1px 2px rgba(255, 255, 255, .3));transition:all .3s ease;fill:white}.news-accordion-btn.expanded .accordion-icon{transform:rotate(180deg);filter:drop-shadow(0 2px 4px rgba(255, 255, 255, .5));fill:white}.no-news{text-align:center;padding:3rem;color:var(--metallic);font-size:clamp(.9rem, 1.2vw, 1rem)}.image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(110deg,#ececec 8%,#f5f5f5 18%,#ececec 33%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite;z-index:1}.about-image-placeholder{background:linear-gradient(135deg,var(--vd-light-blue) 0,var(--vd-light-gray) 100%);border-radius:16px;height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 15px 40px rgba(0,78,150,.08);transition:transform var(--duration-slow) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth)}.about-image-placeholder:hover{transform:translateY(-5px);box-shadow:0 25px 50px rgba(0,78,150,.12)}.modal-container .modal-image .image-placeholder,.modal-image .image-placeholder,.news-card-image .image-placeholder{display:none}.image-loading+.image-placeholder,img.loading+.image-placeholder{display:block}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.about-full{padding:clamp(20px,8vh,25px) 5%}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.about-stats{background:var(--vd-light-gray);border-radius:24px;padding:clamp(1.5rem,3vw,2rem)}.about-stats h3{font-size:clamp(1.1rem, 2vw, 1.3rem);color:var(--vd);margin-bottom:1.5rem}.certificate-section{padding:clamp(20px,8vh,25px) 5%;background:var(--vd-light-gray)}.certificate-widgets{max-width:900px;margin:0 auto}.certificate-widget{background:#fff;border-radius:16px;overflow:hidden;margin-bottom:1rem;box-shadow:0 2px 10px rgba(0,0,0,.05);border:1px solid var(--border-color);transition:transform var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),background-color var(--duration-normal) var(--ease-smooth)}.certificate-widget:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(0,78,150,.15);border-color:var(--vd)}.widget-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;cursor:pointer;background:#fff;transition:transform var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth),background-color var(--duration-normal) var(--ease-smooth);position:relative;overflow:hidden}.widget-header::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,78,150,.05),transparent);transition:left .5s ease}.widget-header:hover::before{left:100%}.widget-header:hover{background:var(--vd-light-gray)}.widget-title{font-size:clamp(.9rem, 1.5vw, 1rem);font-weight:600;color:var(--vd);position:relative;z-index:1}.widget-icon{width:24px;height:24px;fill:var(--vd);transition:transform .4s cubic-bezier(.68, -.55, .265, 1.55)}.certificate-widget.active .widget-icon{transform:rotate(180deg)}.widget-content{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4, 0, .2, 1);background:#fff}.certificate-widget.active .widget-content{max-height:100vh}.widget-content ul{list-style:none;padding:1rem 1.5rem;margin:0;border-top:1px solid var(--border-color)}.widget-content li{padding:.6rem 0;color:var(--metallic);font-size:clamp(.8rem, 1.2vw, .9rem);position:relative;padding-left:1.5rem;opacity:0;transform:translateX(-10px);animation:slideIn .3s ease forwards}.widget-content li:first-child{animation-delay:50ms}.widget-content li:nth-child(2){animation-delay:.1s}.widget-content li:nth-child(3){animation-delay:.15s}.widget-content li:nth-child(4){animation-delay:.2s}.widget-content li:nth-child(5){animation-delay:.25s}@keyframes slideIn{to{opacity:1;transform:translateX(0)}}.widget-content li::before{content:'✓';color:var(--vd);font-weight:700;position:absolute;left:0}.features-section{padding:clamp(20px,8vh,25px) 5%}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}.feature-card{background:#fff;border-radius:16px;padding:clamp(1.25rem,2.5vw,1.75rem);box-shadow:0 3px 12px rgba(0,0,0,.06);text-align:center;transition:transform var(--duration-normal) var(--ease-elastic),gap var(--duration-normal) var(--ease-elastic)}.feature-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(0,0,0,.08)}.feature-icon{width:60px;height:60px;background:var(--vd-light-blue);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;transition:background var(--duration-normal) var(--ease-smooth);border:2px solid var(--vd-light-blue);box-shadow:0 0 0 2px rgba(0,78,150,.1);position:relative;overflow:hidden}.feature-icon::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease;pointer-events:none}.feature-card:hover .feature-icon::before{left:100%}.feature-card:hover .feature-icon{background:var(--vd);box-shadow:0 8px 25px rgba(0,78,150,.3);transform:none}.feature-icon svg{width:42px;height:42px;fill:var(--vd);transition:fill var(--duration-normal) var(--ease-smooth);transition:all .4s var(--ease-smooth)}.feature-card:hover .feature-icon svg{fill:white;transform:scale(1.1);filter:drop-shadow(0 4px 8px rgba(0, 78, 150, .5))}.feature-card h3{color:var(--vd);margin-bottom:.85rem;font-size:clamp(1.05rem, 1.8vw, 1.2rem)}.feature-card p{color:var(--metallic);line-height:1.55;font-size:clamp(.8rem, 1.1vw, .9rem)}.certificate-section-bg{padding:60px 5%;background:var(--vd-light-gray)}.certificate-widgets-container{max-width:900px;margin:0 auto}.features-grid-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}.feature-title{color:var(--vd);margin-bottom:.75rem;font-size:clamp(1.05rem, 1.8vw, 1.2rem)}.feature-desc{color:var(--metallic);line-height:1.55;font-size:clamp(.8rem, 1.1vw, .9rem)}.services-full-padding{padding:clamp(40px,8vh,60px) 5%}.btn-secondary-sm{padding:.6rem 1.2rem;font-size:.9rem;align-self:flex-start}.step-number-circle{width:80px;height:80px;background:var(--vd);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#fff;font-size:2rem;font-weight:700}.project-image-container{height:auto;margin-bottom:1.5rem}.project-img-cover{width:100%;border-radius:15px;transition:transform .3s cubic-bezier(.68, -.55, .265, 1.55)}.project-content-padding{padding:0}.project-category-badge{display:inline-block;align-self:flex-start;background:var(--vd-light-blue);color:var(--vd);padding:.3rem 1rem;border-radius:20px;font-size:clamp(.7rem, 1vw, .8rem);font-weight:600;margin-bottom:1rem}.project-card{border-radius:16px;height:auto;cursor:pointer}.project-card-title{font-size:clamp(1.1rem, 2vw, 1.25rem);font-weight:700;margin-bottom:1rem;color:var(--vd)}.project-card-desc{color:var(--metallic);line-height:1.6;font-size:clamp(.85rem, 1.2vw, .95rem);margin-bottom:1.5rem}.news-full-padding{padding:60px 5%}.news-tabs-container{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}.news-card--full{width:100%;max-width:1200px}.modal-list-ul{list-style:none;padding:0;margin:0}.modal-list-li{padding:.75rem 0;color:var(--metallic);font-size:clamp(.85rem, 1.2vw, .95rem);border-bottom:1px solid var(--border-color);position:relative;padding-left:1.75rem;margin-bottom:0}.modal-list-li::before{content:'✓';color:var(--vd);font-weight:700;position:absolute;left:0}.docs-page{min-height:100vh}.page-title{font-size:2.5rem;margin-bottom:1rem;color:#004e96}.page-subtitle{font-size:1.1rem;max-width:800px;margin:0 auto;color:#555}.docs-section{padding:60px 5%}.docs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1200px;margin:0 auto;align-items:stretch}.doc-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;height:100%;cursor:pointer}.doc-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.15)}.doc-preview{background:linear-gradient(135deg,#f5f7fa 0,#e4e8ec 100%);height:auto;min-height:300px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.doc-preview-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.doc-card:hover .doc-preview-image{transform:scale(1.02)}.pdf-frame{position:absolute;top:0;left:0;width:100%;height:100%;border:none;opacity:0;transition:opacity .3s ease;pointer-events:none}.pdf-frame.loaded{opacity:1;pointer-events:auto}.pdf-preview-placeholder{text-align:center;color:#666;transition:opacity .3s ease}.pdf-frame.loaded+.pdf-preview-placeholder{opacity:0}.pdf-preview-placeholder .doc-icon{width:64px;height:64px;filter:drop-shadow(0 2px 4px rgba(0, 78, 150, .3));margin-bottom:10px}.pdf-preview-placeholder .doc-type{display:inline-block;background:#004e96;color:#fff;padding:4px 12px;border-radius:4px;font-weight:600;font-size:.9rem}.doc-info{padding:24px;display:flex;flex-direction:column;flex:1}.doc-title{font-size:1.25rem;color:#333;margin-bottom:8px;font-weight:600;flex-shrink:0}.doc-description{color:#666;font-size:.95rem;line-height:1.5;margin-bottom:20px;flex-grow:1}.doc-actions{margin-top:auto;padding-top:15px;display:flex;align-items:flex-end}.doc-view-link{color:var(--vd);text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;transition:transform var(--duration-normal) var(--ease-elastic),gap var(--duration-normal) var(--ease-elastic);font-size:clamp(1.2rem, 1.2vw, 1.4rem);background:0 0;border:none;cursor:pointer;padding:.5rem 0;width:fit-content}.doc-view-link:hover{gap:1rem;color:var(--vd-dark)}.doc-view-link svg{width:24px;height:24px;fill:currentColor}.hidden{display:none}.gallery-visible{display:flex}.zoom-in{cursor:zoom-in}.about-main-section{padding:clamp(20px,8vh,25px) 5%;background:#fff}.about-title{font-size:clamp(1.6rem, 3vw, 2.2rem);font-weight:700;color:var(--vd);margin-bottom:1.25rem;line-height:1.2}.about-text{color:var(--metallic);line-height:1.7;font-size:clamp(.95rem, 1.1vw, 1.05rem);margin-bottom:1.25rem}.about-text ol,.about-text ul{padding-left:0;margin-left:0;list-style-position:inside}.placeholder-icon{width:70px;height:70px;color:var(--vd);opacity:.6;margin-bottom:.9rem}.placeholder-icon svg{width:100%;height:100%}.placeholder-text{color:var(--metallic);font-size:1rem;font-weight:500}.careers-intro-padding{padding:80px 5% 60px;background:#fff}.careers-content-center{max-width:1200px;margin:0 auto}.careers-title{font-size:2rem;color:var(--vd);margin-bottom:1.5rem;text-align:center}.careers-text-highlight{font-size:1.1rem;color:var(--text-dark);text-align:center;max-width:900px;margin:0 auto 3rem;line-height:1.7}.careers-benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.benefit-card{background:var(--vd-light-gray);padding:2rem;border-radius:12px;text-align:center;transition:transform var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth)}.benefit-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,78,150,.15)}.benefit-icon{width:60px;height:60px;background:var(--vd);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;background:var(--vd-light-blue);transition:background var(--duration-normal) var(--ease-smooth),transform var(--duration-normal) var(--ease-elastic);border:2px solid var(--vd-light-blue);box-shadow:0 0 0 2px rgba(0,78,150,.1)}.benefit-icon svg{width:100%;height:100%;display:block;fill:white;object-fit:contain;object-position:center;fill:var(--vd);transition:fill var(--duration-normal) var(--ease-smooth)}.benefit-card h3{font-size:1.2rem;color:var(--vd);margin-bottom:.75rem;font-weight:600}.benefit-card p{color:var(--metallic);font-size:.95rem;line-height:1.6}.benefit-card:hover .benefit-icon{background:var(--vd);transform:scale(1.05)}.benefit-card:hover .benefit-icon svg{fill:white}.vacancies-section-padding{padding:80px 5%;background:var(--vd-light-gray)}.vacancies-grid-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1400px;margin:0 auto;justify-items:stretch}.vacancy-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,.08);transition:transform var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth);display:flex;flex-direction:column}.vacancy-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,78,150,.15)}.vacancy-header{background:linear-gradient(135deg,var(--vd) 0,var(--vd-dark) 100%);color:#fff;padding:1.5rem}.vacancy-title{font-size:1.3rem;font-weight:700;margin-bottom:.5rem}.vacancy-department{font-size:.9rem;opacity:.9;display:block}.vacancy-body{padding:1.5rem;flex:1}.vacancy-conditions,.vacancy-requirements,.vacancy-responsibilities{margin-bottom:1.5rem}.vacancy-conditions h4,.vacancy-requirements h4,.vacancy-responsibilities h4{font-size:1rem;color:var(--vd);margin-bottom:.75rem;font-weight:600}.vacancy-conditions ul,.vacancy-requirements ul,.vacancy-responsibilities ul{list-style:none;padding:0}.vacancy-conditions li,.vacancy-requirements li,.vacancy-responsibilities li{position:relative;padding-left:1.5rem;margin-bottom:.5rem;color:var(--text-dark);font-size:.95rem;line-height:1.6}.vacancy-conditions li::before,.vacancy-requirements li::before,.vacancy-responsibilities li::before{content:"•";color:var(--vd-blue);position:absolute;left:0;font-weight:700}.vacancy-footer{padding:1.5rem;border-top:1px solid var(--border-color);background:var(--vd-light-gray)}.btn-apply{width:100%;justify-content:center}.open-application-content{max-width:800px;margin:0 auto;text-align:center}.open-application-content h2{font-size:2rem;color:var(--vd);margin-bottom:1rem}.open-application-content p{font-size:1.1rem;color:var(--metallic);margin-bottom:2rem;line-height:1.7}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;user-select:none}.checkbox-label input[type=checkbox]{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid #d1d5db;border-radius:4px;margin-top:2px;cursor:pointer;position:relative;flex-shrink:0;transition:border-color .2s ease,background-color .2s ease}.checkbox-label input[type=checkbox]:checked{background:var(--vd-blue);border-color:var(--vd-blue)}.checkbox-label input[type=checkbox]:checked::after{content:'';position:absolute;top:50%;left:50%;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%,-70%) rotate(45deg)}.checkbox-label input[type=checkbox]:hover{border-color:var(--vd-blue)}.checkbox-label input[type=checkbox]:focus{outline:0;box-shadow:0 0 0 3px rgba(0,78,150,.2)}.checkbox-text{font-size:.85rem;color:var(--text-dark);line-height:1.5}.checkbox-text a{color:var(--vd);text-decoration:underline}.checkbox-text a:hover{text-decoration:none}.form-submit:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.form-submit:disabled:hover{transform:none;box-shadow:none}.nav-link-home-desktop,.nav-link-home-mobile{display:block}.nav-link-home-desktop.hidden,.nav-link-home-mobile.hidden{display:none}form.hidden-form{display:none}@media (max-width:1048px){:root{font-size:18px}body{font-size:1rem;line-height:1.5}.about-text p,.news-card-excerpt,.section-header p,.service-card p{font-size:.95rem;line-height:1.5}.section-header h2{font-size:1.6rem;margin-bottom:.75rem}.section-tag{font-size:.7rem;padding:.2rem .75rem}.contact-item-text a,.contact-item-text p{font-size:.9rem}.hero{min-height:40vh;padding:calc(var(--navbar-height) + .1rem) 3% 1rem}.hero-content{width:100%;text-align:center}.hero-wrapper{flex-direction:column;align-items:center}.hero-text{margin:0 auto;max-width:100%}.hero-slideshow{display:none}.hero-buttons{justify-content:center}.hero-text h1{font-size:2rem;margin-bottom:.75rem}.hero-text p{font-size:1rem;margin-bottom:1.25rem}.hero-buttons{gap:.75rem}.hero-stats{display:flex;justify-content:center;align-items:stretch;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(0,78,150,.15);flex-wrap:nowrap}.stat-link{flex:1 1 auto;min-width:80px;max-width:calc(25% - .75rem);display:block;text-decoration:none;color:inherit}.stat-item{padding:.5rem .25rem;word-wrap:break-word;word-break:break-word;white-space:normal;height:100%}.stat-number{font-size:1.2rem;margin-bottom:.25rem;white-space:nowrap;font-variant-numeric:tabular-nums}.stat-label{font-size:.7rem;line-height:1.3;word-wrap:break-word;word-break:break-word;white-space:normal;display:block}.nav-links{display:none}.mobile-menu-btn{display:flex}.page-header h1{font-size:1.8rem}.page-header p{font-size:1rem}.about-title{font-size:1.5rem;margin-bottom:.85rem}.about-text{font-size:.95rem;margin-bottom:.85rem;line-height:1.6}.page-title{font-size:2rem}.about-main-section,.about-preview,.careers-intro-padding,.contact-cta,.news-preview,.open-application-padding,.projects-preview,.services,.vacancies-section-padding{padding:32px 3%}.services-grid{grid-template-columns:1fr;gap:1rem}.service-card{padding:1.25rem;border-radius:14px}.service-icon{width:50px;height:50px;margin-bottom:.85rem;border-radius:10px}.service-icon svg{width:28px;height:28px;fill:var(--vd);transition:fill var(--duration-normal) var(--ease-smooth)}.service-card h3{font-size:1.2rem;margin-bottom:.65rem}.service-card p{font-size:.9rem;margin-bottom:.85rem}.projects-grid{gap:1rem;grid-template-columns:1fr}.project-card{border-radius:16px;height:auto}.project-image{height:200px}.project-content{padding:1rem}.project-category{padding:.25rem .8rem;font-size:.7rem;margin-bottom:.75rem}.project-content h3{font-size:1.1rem;margin-bottom:.5rem}.project-content p{font-size:.9rem;margin-bottom:.75rem}.news-grid,.news-grid-inline,.preview-news-grid{grid-template-columns:1fr;gap:1rem}.news-card--compact .news-card-image{height:180px}.news-card{margin-bottom:.6rem;border-radius:14px;grid-template-columns:1fr;height:auto;min-height:280px;width:100%}.news-card-image{height:200px;position:relative;width:100%;overflow:hidden;background:var(--vd-light-gray);display:flex;align-items:center;justify-content:center}.news-card-image img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;object-position:center;transition:transform var(--duration-slower) var(--ease-smooth);opacity:0}.news-card-image img.loaded,.news-card-image img[data-src],.news-card-image img[src]{opacity:1}.news-card-content{padding:1rem}.news-card-category{padding:.3rem .8rem;font-size:.65rem;top:.75rem;left:.75rem}.news-card-date{font-size:.8rem;margin-bottom:.5rem;gap:.35rem}.news-card-date svg{width:14px;height:14px}.news-card-title{font-size:1.1rem;margin-bottom:.5rem}.news-card-excerpt{font-size:.85rem;margin-bottom:.75rem}.news-tabs{flex-direction:column;align-items:center}.news-tab{width:100%;max-width:300px;text-align:center;font-size:.95rem;padding:.65rem 1.5rem}.year-divider{flex-direction:column;gap:.5rem}.year-divider-line{width:100%}.year-divider-year{font-size:1.8rem}.year-divider-label{font-size:.8rem}.docs-grid{grid-template-columns:1fr;gap:1.25rem}.doc-card{border-radius:12px}.doc-preview{min-height:200px}.doc-title{font-size:1rem}.doc-description{font-size:.85rem}.vacancies-grid-container{grid-template-columns:1fr;gap:1.25rem}.vacancy-header{padding:1.25rem}.vacancy-title{font-size:1.2rem;margin-bottom:.4rem}.vacancy-department{font-size:.85rem}.vacancy-body{padding:1.25rem}.vacancy-footer{padding:1.25rem}.vacancy-conditions h4,.vacancy-requirements h4,.vacancy-responsibilities h4{font-size:1rem;margin-bottom:.65rem}.vacancy-conditions li,.vacancy-requirements li,.vacancy-responsibilities li{font-size:.9rem;margin-bottom:.5rem;padding-left:1.25rem}.benefit-card{padding:1.5rem}.benefit-icon{width:55px;height:55px;margin-bottom:1rem}.benefit-icon svg{width:56px;height:56px}.benefit-card h3{font-size:1.15rem;margin-bottom:.5rem}.benefit-card p{font-size:.9rem}.careers-benefits-grid{grid-template-columns:1fr}.careers-title{font-size:1.6rem}.careers-text-highlight{font-size:1rem}.about-content-inline{grid-template-columns:1fr;gap:1.5rem}.about-grid,.contact-content{grid-template-columns:1fr;gap:1.5rem;display:flex;flex-direction:column}.value-item{flex-direction:column;text-align:center;padding:1.25rem}.value-item:hover{transform:translateY(-4px)}.value-icon{margin:0 auto;width:55px;height:55px}.value-icon svg{width:28px;height:28px}.value-heading{font-size:1.15rem;margin-bottom:.5rem}.value-description{font-size:.9rem}.placeholder-icon{width:60px;height:60px;margin-bottom:.75rem}.features-grid{grid-template-columns:1fr}.feature-card{padding:1.25rem}.feature-title{font-size:1.15rem}.feature-desc{font-size:.9rem}.footer-content{grid-template-columns:1fr 1fr;text-align:center}.footer-brand{display:none}.footer-legal ul{flex-direction:column;align-items:center;gap:.75rem}.footer-legal a{font-size:.8rem}.footer{padding:24px 4%}.modal-container{max-height:95vh;margin-top:10px}.modal-body,.modal-header{padding:1rem}.modal-title{font-size:1.3rem}.modal-subtitle{font-size:.85rem}.modal-image-container{height:clamp(150px,25vh,250px)}.details-modal-body{padding:1.25rem}.modal-close{top:10px;right:10px;width:32px;height:32px;border-width:1.5px}.modal-close svg{width:18px;height:18px;fill:#000}.contact-form-container{padding:1.25rem}.floating-cta-btn{bottom:5rem;right:1rem}.scroll-to-top{bottom:5rem;left:1rem}.floating-cta-btn span{display:none}.lightbox-image{max-width:98vw;max-height:90vh}}@media (max-width:480px){:root{font-size:18px}body{font-size:1rem}.hero-text h1{font-size:2rem}.hero-text p{font-size:.95rem}.section-header h2{font-size:1.6rem}.section-header p{font-size:.85rem}.service-card h3{font-size:1.1rem}.service-card p{font-size:.85rem}.news-card-title{font-size:1rem}.news-card-excerpt{font-size:.8rem}.news-card-image{height:180px}.about-text p{font-size:.85rem}.contact-item-text a,.contact-item-text p{font-size:.85rem}.vacancy-title{font-size:1.1rem}.vacancy-conditions li,.vacancy-requirements li,.vacancy-responsibilities li{font-size:.85rem}.hero{min-height:35vh;padding:calc(var(--navbar-height) + .1rem) 3% 1rem}.hero-slideshow{display:none}.page-header{padding:clamp(90px,12vh,130px) 3% 15px}.page-header h1{font-size:1.6rem}.contact-cta h2{font-size:1.4rem}.hero-stats{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(0,78,150,.15)}.stat-link{flex:0 0 calc(50% - 0.5rem);max-width:calc(50% - .5rem);display:block;text-decoration:none;color:inherit}.stat-item{width:100%;padding:.5rem .25rem;word-wrap:normal;overflow-wrap:normal}.stat-number{font-size:1.2rem;margin-bottom:.25rem;white-space:nowrap;font-variant-numeric:tabular-nums}.stat-label{font-size:.65rem;line-height:1.2;word-wrap:normal;overflow-wrap:normal;hyphens:none;-webkit-hyphens:none;-ms-hyphens:none;white-space:normal;display:block}.about-preview,.benefits,.contact-cta,.docs,.news-preview,.projects-preview,.services,.vacancies{padding:24px 3%}.benefits-grid,.docs-grid,.news-grid,.projects-grid,.services-grid,.vacancies-grid-container{gap:.85rem}.service-card{padding:1rem;border-radius:12px}.service-icon{width:50px;height:50px;margin-bottom:.75rem;border-radius:8px}.service-icon svg{width:42px;height:42px}.project-image{height:180px}.project-content{padding:.85rem}.project-category{padding:.2rem .6rem;font-size:.6rem;margin-bottom:.5rem}.project-content h3{font-size:1rem;margin-bottom:.4rem}.project-content p{font-size:.8rem;margin-bottom:.6rem}.news-card{margin-bottom:.5rem;border-radius:10px;height:auto;min-height:260px;width:100%}.news-card-image{height:180px}.news-card-content{padding:.85rem}.news-card-category{padding:.2rem .6rem;font-size:.55rem;top:.5rem;left:.5rem}.news-card-date{font-size:.7rem;margin-bottom:.35rem;gap:.25rem}.news-card-date svg{width:12px;height:12px}.news-card-title{font-size:.95rem;margin-bottom:.35rem;line-height:1.3}.news-card-excerpt{font-size:.75rem;margin-bottom:.5rem;line-height:1.4}.news-grid{gap:.85rem}.news-tab{font-size:.85rem;padding:.5rem 1.25rem}.doc-card{padding:.85rem}.doc-preview{min-height:160px}.doc-title{font-size:.9rem}.doc-description{font-size:.8rem}.vacancy-header{padding:.85rem}.vacancy-title{font-size:1rem}.vacancy-department{font-size:.75rem}.vacancy-body{padding:.85rem}.vacancy-conditions h4,.vacancy-requirements h4,.vacancy-responsibilities h4{font-size:.9rem}.vacancy-conditions li,.vacancy-requirements li,.vacancy-responsibilities li{font-size:.8rem;margin-bottom:.35rem;padding-left:1rem}.vacancy-footer{padding:.85rem}.benefit-card{padding:1rem}.benefit-icon{width:55px;height:55px;margin-bottom:.75rem}.benefit-icon svg{width:56px;height:56px}.benefit-card h3{font-size:1rem;margin-bottom:.4rem}.benefit-card p{font-size:.8rem}.careers-title{font-size:1.4rem}.careers-text-highlight{font-size:.9rem}.about-title{font-size:1.3rem}.value-heading{font-size:1rem}.value-description{font-size:.8rem}.feature-title{font-size:1rem}.feature-desc{font-size:.8rem}.footer{padding:20px 3%}.btn-primary,.btn-secondary{padding:.7rem 1.25rem;font-size:.85rem}.orbit-container{width:60px;height:60px}.plane-icon{width:18px;height:18px;top:-8px}.loader-text{font-size:.85rem;margin-top:16px}.modal-overlay{overflow:auto;align-items:flex-start;padding:.75rem 0}.modal-container{margin-top:.1rem;max-width:calc(100% - 1.5rem);max-height:calc(95vh - 1.5rem);overflow-y:auto}.modal-header{padding:clamp(1rem,3vw,2rem)}.modal-title{font-size:1.15rem}.modal-subtitle{font-size:.8rem}.modal-body{padding:.85rem;max-height:none}.modal-category{font-size:.7rem;padding:.3rem 1rem}.modal-date{font-size:.75rem}.modal-content{font-size:.85rem}.modal-close{top:8px;right:8px;width:30px;height:30px;border-width:1.5px}.modal-close svg{width:16px;height:16px;fill:#000}.lightbox-close{top:10px;right:10px;width:36px;height:36px;background:rgba(255,255,255,.9);z-index:10}.lightbox-close svg{width:18px;height:18px;fill:#333}.lightbox-close:hover{background:#fff}.lightbox-close:hover svg{fill:#000}.form-input,.form-select{font-size:16px;padding:.75rem .9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-textarea{font-size:16px;padding:.75rem .9rem;height:auto;min-height:60px;field-sizing:content;resize:vertical;white-space:pre-wrap}.form-label{font-size:.85rem}.form-submit{margin-top:.5rem;font-size:.9rem;padding:.85rem 1.25rem}.form-agreement-text{font-size:.75rem}}.no-js .user-notice-fallback{position:fixed;bottom:0;left:0;right:0;background:#f5f5f5;padding:1rem;text-align:center;z-index:2900;border-top:2px solid #0033a0}.no-js .user-notice-fallback p{margin:0 0 .5rem 0;color:#333;font-size:.9rem}.no-js .user-notice-fallback a{color:#0033a0;text-decoration:underline}.user-notice-banner{position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -4px 20px rgba(0,0,0,.15);z-index:3100;display:none;flex-direction:column;padding:1.5rem;max-height:60vh;overflow-y:auto}.user-notice-banner.active{animation:slideUp .3s ease-out}.user-notice-banner.visible{display:flex}.user-notice-banner.hidden{display:none}@keyframes slideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.user-notice-content{max-width:1200px;margin:0 auto;width:100%}.user-notice-title{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin-bottom:.75rem}.user-notice-text{font-size:.95rem;color:#4a4a4a;line-height:1.6;margin-bottom:1.25rem}.user-consent-details{background:#f8f9fa;border-radius:8px;padding:1rem;margin-bottom:1.25rem}.user-consent-category{margin-bottom:.75rem}.user-consent-category:last-child{margin-bottom:0}.user-consent-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s ease}.user-consent-label:hover{background:#f0f0f0}.user-consent-label input[type=checkbox]{margin-top:.25rem;width:18px;height:18px;cursor:pointer;flex-shrink:0}.user-consent-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.7}.user-consent-text{display:flex;flex-direction:column;gap:.25rem}.user-consent-text strong{color:#1a1a1a;font-size:.95rem}.user-consent-text small{color:#666;font-size:.85rem;line-height:1.4}.user-notice-buttons{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.user-btn{padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,transform .2s ease;border:none;font-family:inherit}.user-btn-primary{background:#0033a0;color:#fff}.user-btn-primary:hover{background:#002880}.user-btn-secondary{background:#f0f0f0;color:#333}.user-btn-secondary:hover{background:#e0e0e0}.user-btn-outline{background:0 0;color:#0033a0;border:2px solid #0033a0}.user-btn-outline:hover{background:#0033a0;color:#fff}.user-privacy-link .user-cookie-policy-link{font-size:.85rem;color:#0033a0;text-decoration:underline}.user-privacy-link:hover{text-decoration:none}.user-back-btn{background:0 0;border:none;color:#0033a0;font-size:.95rem;cursor:pointer;padding:.5rem 0;margin-bottom:.5rem}.user-back-btn:hover{text-decoration:underline}.user-settings-title{font-size:1.15rem;font-weight:600;color:#1a1a1a;margin-bottom:.5rem}.user-settings-subtitle{font-size:.9rem;color:#666;margin-bottom:1.25rem}.user-categories{margin-bottom:1.25rem}.user-category{padding:1rem;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:.75rem}.user-category-required{background:#f9f9f9}.user-category-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.user-category-info{flex:1}.user-category-name{display:block;font-weight:500;color:#1a1a1a;margin-bottom:.25rem}.user-category-desc{display:block;font-size:.85rem;color:#666}@media (max-width:750px){.service-card--wide{grid-column:auto}.user-notice-banner{padding:1rem}.user-notice-buttons{flex-direction:column}.user-btn{width:100%;text-align:center}.user-category-header{flex-direction:column;align-items:flex-start}.user-consent-details{padding:.75rem}.user-consent-label{gap:.5rem;padding:.4rem}.user-consent-label input[type=checkbox]{width:16px;height:16px}.user-consent-text strong{font-size:.9rem}.user-consent-text small{font-size:.8rem}}.user-notice-level-2{display:none}.user-notice-level-2.visible{display:block}.user-notice-level-1.hidden{display:none}.error-page-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(3rem,8vh,6rem) 5%;background:linear-gradient(180deg,var(--vd-light-blue) 0,#fff 100%)}.error-page-content{text-align:center;max-width:700px;width:100%}.error-code{font-size:clamp(6rem, 15vw, 10rem);font-weight:800;color:var(--vd);line-height:1;margin:0;letter-spacing:-.05em;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.error-title{font-size:clamp(1.5rem, 4vw, 2.25rem);font-weight:700;color:var(--text-dark);margin:1rem 0 1.5rem}.error-description{color:var(--metallic);font-size:clamp(1rem, 1.5vw, 1.1rem);max-width:500px;margin:0 auto 2rem;line-height:1.6}.error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:0;margin-bottom:0}@media (max-width:768px){.error-page-container{min-height:100vh;padding:1.5rem 5%}.error-actions{flex-direction:column;align-items:center}.error-actions .btn-primary{width:100%;max-width:280px;justify-content:center}}#policyModalOverlay#policyModalOverlay{z-index:3200}#previewProjectsGrid,.preview-projects-grid{min-height:600px}#previewNewsGrid,.news-grid-inline{min-height:300px}#mapContainer{position:relative;width:100%;height:350px;border-radius:12px;overflow:hidden;background:#f0f4f8;box-shadow:0 4px 12px rgba(0,0,0,.1)}#mapContainer img.static-map{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;display:block;cursor:pointer;border-radius:inherit}@media (max-width:768px){#mapContainer{height:auto;aspect-ratio:16/9;min-height:200px}}.reduced-motion *,.reduced-motion ::after,.reduced-motion ::before{animation-duration:0s;animation-iteration-count:1;transition-duration:0s;scroll-behavior:auto}.form-textarea{field-sizing:content;min-height:60px;resize:vertical}.char{opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease;display:inline-block}.char.visible{opacity:1;transform:translateY(0)}.char-space{display:inline-block;width:.25em}.category-trigger{cursor:pointer;will-change:transform;transition:background-color .2s ease,transform .2s ease}.category-trigger:hover{background-color:#dbeafe;transform:scale(.97)}.modal-content ol,.modal-content ul,.news-full-content ol,.news-full-content ul{list-style-position:outside;padding-left:1.5rem;margin-bottom:1rem}.modal-content ol li,.modal-content ul li,.news-full-content ol li,.news-full-content ul li{margin-bottom:.5rem;line-height:1.6}.modal-category-container{max-width:800px}.modal-category-body{padding:2rem}.modal-category-title{color:var(--vd);font-weight:700;margin-bottom:1.5rem}.modal-category-list{display:flex;flex-direction:column;gap:1.5rem}.modal-category-empty{display:none;color:var(--metallic);text-align:center;padding:2rem}.modal-category-empty.visible{display:block}#appError h2{font-size:1.2rem;font-weight:700;margin-bottom:.5rem}#appError p{margin-bottom:.5rem}#appError .error-detail{font-size:.85rem;margin-top:.5rem;word-break:break-word}#appError .reload-btn{margin-top:.5rem;padding:.5rem 1rem;cursor:pointer;background:#721c24;color:#fff;border:none;border-radius:4px;font-size:.9rem;transition:background .2s}#appError .reload-btn:hover{background:#5a151b}.error-banner{position:fixed;top:70px;right:30px;z-index:999;max-width:320px;width:auto;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.06);display:flex;align-items:center;gap:10px;padding:12px 18px 12px 18px;font-size:15px;font-family:inherit;color:#1a1a1a;transform:translateX(calc(100% + 40px));transition:transform 1.5s cubic-bezier(.16, 1, .3, 1),opacity 1.5s ease;opacity:0;pointer-events:none;margin-right:0}.error-banner.active{transform:translateX(0);opacity:1;pointer-events:auto}.error-banner.hiding{transform:translateX(calc(100% + 40px));opacity:0;pointer-events:none;transition:transform 1.5s cubic-bezier(.16, 1, .3, 1),opacity 1.5s ease}.navbar.scrolled~.error-banner{top:60px}.error-banner-icon{font-size:20px;flex-shrink:0;color:#1a1a1a}.error-banner-text{flex:1;line-height:1.5;color:#1a1a1a;font-size:15px;word-break:break-word;overflow-wrap:break-word}.error-banner-text kbd{background:rgba(255,255,255,.6);border:1px solid rgba(0,0,0,.1);border-radius:3px;padding:0 8px;font-size:.9em;font-weight:600;color:#1a1a1a;white-space:nowrap}.error-banner-close{background:0 0;border:none;font-size:22px;line-height:1;cursor:pointer;color:#1a1a1a;padding:0 6px;flex-shrink:0;transition:transform .2s,background .2s;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.error-banner-close:hover{transform:scale(1.15);background:rgba(0,0,0,.08)}@media (max-width:768px){.error-banner{display:none}}@media (pointer:fine) and (max-width:1280px){.careers-benefits-grid,.features-grid,.preview-projects-grid,.projects-grid,.services-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:1375px){.nav-links{display:none}.mobile-menu-btn{display:flex}}.about-preview-inline .about-text{max-width:1450px;margin-left:auto;margin-right:auto;padding:0 1.5rem}