@media screen and (min-width:1024px){:root{--qg-nav-max-width:960px}}@media screen and (min-width:1408px){:root{--qg-nav-max-width:1344px}}pre{border:1px solid #ccc;word-wrap:break-word;padding:6px 10px;line-height:19px;margin-bottom:20px}code{border:1px solid #eaeaea;margin:0 2px;padding:5px 15px;font-size:16px}pre code{border:0;padding:0;margin:0;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}pre,code{font-family:Consolas,liberation mono,Courier,monospace;background:#f8f8f8;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}pre,pre code{font-size:13px}pre .comment{color:#998}pre .support{color:#0086b3}pre .tag,pre .tag-name{color:navy}pre .keyword,pre .css-property,pre .vendor-prefix,pre .sass,pre .class,pre .id,pre .css-value,pre .entity.function,pre .storage.function{font-weight:700}pre .css-property,pre .css-value,pre .vendor-prefix,pre .support.namespace{color:#333}pre .constant.numeric,pre .keyword.unit,pre .hex-color{font-weight:400;color:#099}pre .entity.class{color:#458}pre .entity.id,pre .entity.function{color:#900}pre .attribute,pre .variable{color:teal}pre .string,pre .support.value{font-weight:400;color:#d14}pre .regexp{color:#009926}[hidden]{display:none;visibility:hidden}button.button{border-radius:10px;@media screen and (max-width:768px){width: 100%;}}.narrow{max-width:768px!important}a.heading-anchor{visibility:hidden}h1:hover>a.heading-anchor,h2:hover>a.heading-anchor,h3:hover>a.heading-anchor,h4:hover>a.heading-anchor,h5:hover>a.heading-anchor,h6:hover>a.heading-anchor{visibility:visible}.animation-hide-left{opacity:50;filter:blur(15px);transform:translateX(-50px);transition:all 1s;transform-origin:left}.animation-hide-right{opacity:50;filter:blur(15px);transform:translateX(50px);transition:all 1s;transform-origin:right}.animation-show{animation-duration:.5s;animation-iteration-count:1;animation-name:bounce;animation-timing-function:cubic-bezier(.28,.84,.42,1)}@keyframes bounce{0%{transform:scale(2,2)translateX(50px)}30%{transform:scale(1.5,1.5)translateX(25px)}50%{transform:scale(1.25,1.25)translateX(10px)}750%{transform:scale(1.1,1.1)translateX(5px)}85%{transform:scale(1,1)translateX(2px)}90%{transform:scale(1,1)translateX(1px)}100%{transform:scale(1,1)translateX(.5px)}}.is-image-block{background-image:url("");background-size:cover;background-position:50%;background-repeat:no-repeat}.is-min-height{min-height:300px}.is-vcentered{display:flex;flex-wrap:wrap;align-content:center;align-items:center}.is-transparent{background-color:transparent!important}.bg{color:#0a0a02!important;background-color:#eee6e2!important}.chroma{color:#0a0a02!important;background-color:#ecf1f4!important}.chroma .x{}.chroma .err{color:#960050!important;background-color:#1e0010!important}.chroma .cl{}.chroma .lnlinks{outline:none!important;text-decoration:none!important;color:inherit!important}.chroma .lntd{vertical-align:top!important;padding:0!important;margin:0!important;border:0!important}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#ffc!important}.chroma .lnt{white-space:pre!important;user-select:none!important;margin-right:.4em!important;padding:0 .4em!important;color:#7f7f7f!important}.chroma .ln{white-space:pre;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#66d9ef}.chroma .kc{color:#66d9ef}.chroma .kd{color:#66d9ef}.chroma .kn{color:#f92672}.chroma .kp{color:#66d9ef}.chroma .kr{color:#66d9ef}.chroma .kt{color:#66d9ef}.chroma .n{}.chroma .na{color:#a6e22e}.chroma .nb{}.chroma .bp{}.chroma .nc{color:#a6e22e}.chroma .no{color:#66d9ef}.chroma .nd{color:#a6e22e}.chroma .ni{}.chroma .ne{color:#a6e22e}.chroma .nf{color:#a6e22e}.chroma .fm{}.chroma .nl{}.chroma .nn{}.chroma .nx{color:#a6e22e}.chroma .py{}.chroma .nt{color:#f92672}.chroma .nv{}.chroma .vc{}.chroma .vg{}.chroma .vi{}.chroma .vm{}.chroma .l{color:#ae81ff}.chroma .ld{color:#e6db74}.chroma .s{color:#e6db74}.chroma .sa{color:#e6db74}.chroma .sb{color:#e6db74}.chroma .sc{color:#e6db74}.chroma .dl{color:#e6db74}.chroma .sd{color:#e6db74}.chroma .s2{color:#e6db74}.chroma .se{color:#ae81ff}.chroma .sh{color:#e6db74}.chroma .si{color:#e6db74}.chroma .sx{color:#e6db74}.chroma .sr{color:#e6db74}.chroma .s1{color:#e6db74}.chroma .ss{color:#e6db74}.chroma .m{color:#ae81ff}.chroma .mb{color:#ae81ff}.chroma .mf{color:#ae81ff}.chroma .mh{color:#ae81ff}.chroma .mi{color:#ae81ff}.chroma .il{color:#ae81ff}.chroma .mo{color:#ae81ff}.chroma .o{color:#f92672}.chroma .ow{color:#f92672}.chroma .p{}.chroma .c{color:#75715e}.chroma .ch{color:#75715e}.chroma .cm{color:#75715e}.chroma .c1{color:#75715e}.chroma .cs{color:#75715e}.chroma .cp{color:#75715e}.chroma .cpf{color:#75715e}.chroma .g{}.chroma .gd{color:#f92672}.chroma .ge{font-style:italic}.chroma .gr{}.chroma .gh{}.chroma .gi{color:#a6e22e}.chroma .go{}.chroma .gp{}.chroma .gs{font-weight:700}.chroma .gu{color:#75715e}.chroma .gt{}.chroma .gl{}.chroma .w{}.is-highest{z-index:1000}.tile.is-gapless{.tile.is-parent { padding: 0; } .tile.is-vertical>.tile.is-child { margin-bottom: 0 !important; }}.notification a:not(.button):not(.dropdown-item){text-decoration:none}.cookie-container{position:fixed;bottom:-100%;left:10px;font-size:14px;width:300px;line-height:19px;z-index:10000;background:#fff;color:#888;border-radius:10px;padding:0 32px;box-shadow:0 -2px 16px rgba(47,54,64,.15);transition:400ms}.cookie-container p{margin:16px 0 8px;line-height:1.4;font-weight:400}.cookie-container .wrapper{padding:24px}.cookhead{font-weight:600;color:#000;line-height:1;margin-top:24px;font-size:18px}.cookie-container.active{bottom:10px}.cookie-container a{color:#3a9800;font-weight:400}.cookie-btn{background:#f1903b;border:0;color:#f5f6fa;padding:12px 48px;width:100%;font-size:12px;margin-bottom:16px;border-radius:8px;cursor:pointer}.cookie-btn:hover{background:#f1813b}:root{--osgeo-green:#4DB05B;--osgeo-green-light:#6FCF7A;--osgeo-green-dark:#3A8A47;--osgeo-teal:#003A40;--osgeo-teal-light:#006670;--osgeo-teal-dark:#001F22;--accent-cyan:#00B8D4;--accent-emerald:#10B981;--accent-amber:#F59E0B;--accent-coral:#FF6B6B;--gradient-earth:linear-gradient(135deg, #003A40 0%, #006670 50%, #4DB05B 100%);--gradient-ocean:linear-gradient(135deg, #003A40 0%, #00B8D4 50%, #4DB05B 100%);--gradient-sunset:linear-gradient(135deg, #003A40 0%, #FF6B6B 50%, #F59E0B 100%);--gradient-forest:linear-gradient(135deg, #001F22 0%, #2D6E4B 50%, #6FCF7A 100%);--gradient-hero:linear-gradient(135deg, rgba(0,58,64,0.95) 0%, rgba(0,102,112,0.85) 50%, rgba(77,176,91,0.75) 100%);--gradient-card:linear-gradient(145deg, rgba(255,255,255,0.9) 0%, rgba(248,250,248,0.95) 100%);--gradient-dark-card:linear-gradient(145deg, rgba(0,58,64,0.95) 0%, rgba(0,31,34,0.98) 100%);--glass-bg:rgba(255, 255, 255, 0.15);--glass-border:rgba(255, 255, 255, 0.25);--glass-shadow:0 8px 32px rgba(0, 0, 0, 0.1);--shadow-sm:0 2px 4px rgba(0, 58, 64, 0.08);--shadow-md:0 4px 12px rgba(0, 58, 64, 0.12);--shadow-lg:0 8px 24px rgba(0, 58, 64, 0.16);--shadow-xl:0 16px 48px rgba(0, 58, 64, 0.2);--shadow-glow:0 0 40px rgba(77, 176, 91, 0.3);--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);--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-xl:0;--radius-full:9999px}html{scroll-behavior:smooth}::selection{background:var(--osgeo-green);color:#fff}:focus-visible{outline:3px solid var(--osgeo-green);outline-offset:2px}.hero.is-osgeo-hero{position:relative;overflow:hidden;min-height:80vh}.hero.is-osgeo-hero::before{content:'';position:absolute;inset:0;background:var(--gradient-hero);z-index:1}.hero.is-osgeo-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(77,176,91,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(0,184,212,.2) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(0,102,112,.15) 0%,transparent 70%);z-index:2;animation:aurora 20s ease-in-out infinite}@keyframes aurora{0%,100%{opacity:1;transform:scale(1)rotate(0)}50%{opacity:.8;transform:scale(1.1)rotate(2deg)}}.hero.is-osgeo-hero .hero-body{position:relative;z-index:10}.hero.is-osgeo-hero .title{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.1;text-shadow:0 2px 20px rgba(0,0,0,.3);animation:fadeInUp .8s var(--ease-smooth)forwards}.hero.is-osgeo-hero .subtitle{font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:400;opacity:.95;max-width:600px;animation:fadeInUp .8s var(--ease-smooth).2s forwards;animation-fill-mode:backwards}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-logo{animation:floatLogo 6s ease-in-out infinite}@keyframes floatLogo{0%,100%{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(2deg)}}.osgeo-hero-home{position:relative;min-height:100vh;overflow:hidden;display:flex;flex-direction:column}.osgeo-hero-home .hero-bg-image{position:absolute;inset:0;background-repeat:no-repeat;background-position:50%;background-size:cover;z-index:0}.osgeo-hero-home .compass-intro{background-image:url(/img/osgeo/compass-intro.svg);background-repeat:no-repeat;background-size:contain;background-position:100% 0;height:100%;width:100%;position:absolute;top:0;right:0;z-index:1}.osgeo-hero-home .hero-intro-content{position:relative;z-index:2;padding:120px 0 60px;flex:1;display:flex;align-items:center}.osgeo-hero-home .hero-title{font-family:var(--font-heading);font-size:clamp(3rem,8vw,7.5rem);font-weight:700;line-height:1.18;color:#fff;margin-bottom:2rem;text-shadow:0 2px 20px rgba(0,0,0,.3)}.btn-osgeo-white{display:inline-block;background-color:#fff;color:#003a40;border:none;border-radius:0;padding:.75rem 1.25rem;font-size:1rem;font-weight:700;text-decoration:none;margin-right:1rem;margin-bottom:1rem;transition:all .2s ease}.btn-osgeo-white:hover{background-color:#4caf5b;color:#fff;text-decoration:none}.osgeo-hero-home .hero-columns{background-color:rgba(0,58,64,.4);padding:4rem 0;position:relative;z-index:2}.osgeo-hero-home .hero-columns .column{color:#fff}.osgeo-hero-home .hero-columns .column-title{color:#fff;font-size:1.75rem;font-weight:700;margin-bottom:1rem}.osgeo-hero-home .hero-columns p{color:#fff;font-size:1.25rem;line-height:1.6;margin-bottom:1.5rem}.osgeo-hero-home .hero-columns .column-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.osgeo-hero-home .hero-columns .btn-osgeo-white{margin:0}@media screen and (max-width:1199px){.osgeo-hero-home .compass-intro{background-image:url(/img/osgeo/compass-intro-768.svg);background-size:cover}}@media screen and (max-width:991px){.osgeo-hero-home .compass-intro{background-size:cover;height:60%}.osgeo-hero-home .hero-title{font-size:clamp(2.5rem,6vw,4.5rem)}}@media screen and (max-width:768px){.osgeo-hero-home .hero-intro-content{padding:100px 0 40px}.osgeo-hero-home .compass-intro{opacity:.6}.osgeo-hero-home .hero-columns{padding:2rem 0}.osgeo-hero-home .hero-columns .column-title{font-size:1.5rem}.osgeo-hero-home .hero-columns p{font-size:1rem}}.osgeo-hero{position:relative;min-height:100vh;overflow:hidden;display:flex;align-items:center;padding-top:80px}.osgeo-hero>.hero-bg-image{position:absolute;inset:0;background-repeat:no-repeat;background-position:50%;background-size:cover;z-index:0}.osgeo-hero>.hero-bg-image::after{content:'';position:absolute;inset:0;background:linear-gradient( 135deg,rgba(0,56,63,.75) 0%,rgba(0,56,63,.5) 40%,rgba(0,56,63,.3) 100% );z-index:1}.osgeo-hero>.compass-intro{background-image:url(/img/osgeo/compass-intro-wide.svg);background-repeat:no-repeat;background-size:cover;background-position:0 0;height:100%;width:100%;position:absolute;top:0;left:0;z-index:1;pointer-events:none}@media screen and (max-width:768px){.osgeo-hero>.compass-intro{opacity:.85}}.diagonal-sliver{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient( 135deg,rgba(0,102,112,.35) 0%,rgba(0,102,112,.15) 25%,rgba(0,102,112,5%) 50%,transparent 70% )}.has-sliver{position:relative}.has-sliver>.diagonal-sliver{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient( 135deg,rgba(0,102,112,.25) 0%,rgba(0,102,112,.1) 30%,transparent 60% )}.interstitial-bg{position:absolute;inset:0;z-index:0}.hero-bg-animation{position:absolute;inset:0;overflow:hidden;z-index:1}.gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.6;animation:orbFloat 20s ease-in-out infinite}.orb-1{width:600px;height:600px;background:radial-gradient(circle,rgba(77,176,91,.4) 0%,transparent 70%);top:-10%;right:-10%;animation-delay:0s}.orb-2{width:500px;height:500px;background:radial-gradient(circle,rgba(0,184,212,.3) 0%,transparent 70%);bottom:-15%;left:-5%;animation-delay:-7s}.orb-3{width:400px;height:400px;background:radial-gradient(circle,rgba(77,176,91,.3) 0%,transparent 70%);top:50%;left:40%;transform:translate(-50%,-50%);animation-delay:-14s}@keyframes orbFloat{0%,100%{transform:translate(0,0)scale(1)}25%{transform:translate(30px,-30px)scale(1.05)}50%{transform:translate(-20px,20px)scale(.95)}75%{transform:translate(-30px,-20px)scale(1.02)}}.hero-grid-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(77,176,91,3%) 1px,transparent 1px),linear-gradient(90deg,rgba(77,176,91,3%) 1px,transparent 1px);background-size:60px 60px;z-index:2}.hero-content{position:relative;z-index:10;width:100%;padding:2rem 0}.hero-text-content{color:#fff}.hero-badge{display:inline-flex;align-items:center;gap:.75rem;background:rgba(77,176,91,.15);border:1px solid rgba(77,176,91,.3);border-radius:0;padding:.5rem 1.25rem;font-size:.9rem;color:rgba(255,255,255,.9);margin-bottom:2rem;backdrop-filter:blur(10px);animation:fadeInUp .6s var(--ease-smooth)forwards}.hero-badge .badge-icon{color:var(--osgeo-green-light)}.hero-headline{font-family:var(--font-heading);font-size:clamp(3rem,7vw,5rem);font-weight:800;line-height:1.05;margin-bottom:1.5rem;animation:fadeInUp .8s var(--ease-smooth).1s forwards;animation-fill-mode:backwards;text-shadow:0 2px 4px rgba(0,0,0,.3),0 4px 20px rgba(0,0,0,.2)}.hero-headline .headline-word{display:block}.hero-headline .highlight{background:linear-gradient(135deg,#6FCF7A 0%,#4DB05B 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;display:inline-block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.hero-subheadline{font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.7;color:rgba(255,255,255,.95);max-width:540px;margin-bottom:2.5rem;animation:fadeInUp .8s var(--ease-smooth).2s forwards;animation-fill-mode:backwards;text-shadow:0 1px 3px rgba(0,0,0,.4)}.hero-subheadline strong{color:#fff;font-weight:600}.hero-ctas{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:3rem;animation:fadeInUp .8s var(--ease-smooth).3s forwards;animation-fill-mode:backwards}.hero-btn{display:inline-flex;align-items:center;gap:1rem;padding:1rem 1.75rem;border-radius:0;font-weight:600;text-decoration:none;transition:all .3s var(--ease-smooth);position:relative;overflow:hidden}.hero-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 100%);opacity:0;transition:opacity .3s}.hero-btn:hover::before{opacity:1}.hero-btn-primary{background:linear-gradient(135deg,#4DB05B 0%,#3A8A47 100%);color:#fff;box-shadow:0 8px 32px rgba(77,176,91,.4),0 0 0 1px rgba(111,207,122,.3);border:1px solid rgba(111,207,122,.4)}.hero-btn-primary:hover{transform:translateY(-4px)scale(1.02);box-shadow:0 16px 48px rgba(77,176,91,.5),0 0 30px rgba(77,176,91,.3);color:#fff;background:linear-gradient(135deg,#5FC06D 0%,#4DB05B 100%)}.hero-btn-secondary{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(10px)}.hero-btn-secondary:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3);transform:translateY(-3px);color:#fff}.hero-btn .btn-icon{font-size:1.25rem;opacity:.9}.hero-btn .btn-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.hero-btn .btn-label{font-size:1rem;font-weight:700}.hero-btn .btn-sublabel{font-size:.8rem;opacity:.8;font-weight:400}.hero-btn .btn-arrow{transition:transform .3s}.hero-btn-primary:hover .btn-arrow{transform:translateX(4px)}.hero-trust{animation:fadeInUp .8s var(--ease-smooth).4s forwards;animation-fill-mode:backwards}.trust-label{display:block;font-size:.85rem;color:rgba(255,255,255,.7);margin-bottom:.75rem;text-shadow:0 1px 2px rgba(0,0,0,.4)}.trust-logos{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center}.trust-item{font-size:.9rem;font-weight:600;color:rgba(255,255,255,.6);letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.4)}.hero-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-logo-container{position:relative;margin-bottom:2rem;animation:fadeInUp .8s var(--ease-smooth).2s forwards;animation-fill-mode:backwards}.hero-logo-container .logo-glow{position:absolute;inset:-30px;background:radial-gradient(circle,rgba(77,176,91,.4) 0%,transparent 70%);filter:blur(30px);animation:pulse 4s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:.9;transform:scale(1.1)}}.hero-logo-container .hero-logo{width:200px;height:auto;position:relative;z-index:2;filter:drop-shadow(0 10px 40px rgba(0,0,0,.4))brightness(1.1);animation:floatLogo 6s ease-in-out infinite}.hero-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;width:100%;max-width:420px;animation:fadeInUp .8s var(--ease-smooth).4s forwards;animation-fill-mode:backwards}.hero-stat-card{background:rgba(255,255,255,8%);border:1px solid rgba(255,255,255,.15);border-radius:0;padding:1.5rem;backdrop-filter:blur(15px);position:relative;overflow:hidden;transition:all .3s var(--ease-smooth)}.hero-stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.hero-stat-card:hover{background:rgba(255,255,255,.15);border-color:rgba(77,176,91,.4);transform:translateY(-6px)scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,.3)}.hero-stat-card .stat-number{font-family:var(--font-heading);font-size:2.5rem;font-weight:800;color:#fff;line-height:1;margin-bottom:.5rem}.hero-stat-card .stat-plus{color:#6fcf7a;font-weight:700}.hero-stat-card .stat-label{font-size:.85rem;color:rgba(255,255,255,.8);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.hero-stat-card .stat-icon{position:absolute;bottom:1rem;right:1rem;font-size:1.5rem;color:rgba(77,176,91,.25)}.hero-stat-card.stat-1{border-top:3px solid var(--osgeo-green)}.hero-stat-card.stat-2{border-top:3px solid var(--accent-cyan)}.hero-stat-card.stat-3{border-top:3px solid var(--accent-amber)}.hero-stat-card.stat-4{border-top:3px solid var(--accent-emerald)}@media screen and (max-width:1023px){.osgeo-hero{min-height:auto;padding:100px 0 80px}.osgeo-hero .columns{flex-direction:column-reverse}.hero-visual{margin-bottom:3rem}.hero-logo-container .hero-logo{width:120px}.hero-stats-grid{max-width:320px}.hero-headline{font-size:clamp(2.5rem,8vw,3.5rem)}.hero-text-content{text-align:center}.hero-ctas{justify-content:center}.hero-trust{text-align:center}.trust-logos{justify-content:center}}@media screen and (max-width:768px){.hero-ctas{flex-direction:column}.hero-btn{justify-content:center}.hero-stats-grid{gap:.75rem}.hero-stat-card{padding:1rem}.hero-stat-card .stat-number{font-size:1.5rem}}.page-hero{position:relative;overflow:hidden;padding-top:80px}.page-hero.is-small{min-height:280px}.page-hero.is-medium{min-height:360px}.page-hero.is-large{min-height:450px}.page-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#001F22 0%,#003A40 40%,#006670 80%,#003A40 100%)}.page-hero-bg .hero-gradient-overlay{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(77,176,91,.2) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(0,184,212,.15) 0%,transparent 50%)}.page-hero-bg .hero-bg-image{position:absolute;inset:0;background-size:cover;background-position:50%;opacity:.15;mix-blend-mode:overlay}.page-hero-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(77,176,91,3%) 1px,transparent 1px),linear-gradient(90deg,rgba(77,176,91,3%) 1px,transparent 1px);background-size:50px 50px;z-index:2}.page-hero-content{position:relative;z-index:10;padding:3rem 0 5rem;display:flex;align-items:center;min-height:inherit}.page-hero.is-small .page-hero-content{padding:2rem 0 4rem}.page-hero.is-large .page-hero-content{padding:4rem 0 6rem}.page-hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(77,176,91,.15);border:1px solid rgba(77,176,91,.3);border-radius:0;padding:.4rem 1rem;font-size:.85rem;color:rgba(255,255,255,.9);margin-bottom:1.25rem;backdrop-filter:blur(10px);animation:fadeInUp .5s var(--ease-smooth)forwards}.page-hero-badge .badge-icon{color:var(--osgeo-green-light)}.page-hero-title{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3.5rem);font-weight:800;color:#fff;line-height:1.1;margin-bottom:1rem;animation:fadeInUp .6s var(--ease-smooth).1s forwards;animation-fill-mode:backwards}.page-hero-subtitle{font-size:clamp(1rem,2vw,1.25rem);line-height:1.6;color:rgba(255,255,255,.85);max-width:600px;margin-bottom:1.5rem;animation:fadeInUp .6s var(--ease-smooth).2s forwards;animation-fill-mode:backwards}.page-hero-buttons{display:flex;flex-wrap:wrap;gap:1rem;animation:fadeInUp .6s var(--ease-smooth).3s forwards;animation-fill-mode:backwards}.page-hero-logo{animation:fadeInUp .6s var(--ease-smooth).2s forwards;animation-fill-mode:backwards}.page-hero-logo img{max-width:200px;max-height:150px;filter:drop-shadow(0 10px 30px rgba(0,0,0,.3))brightness(1.1)}@media screen and (max-width:1023px){.page-hero-content{text-align:center}.page-hero-subtitle{margin-left:auto;margin-right:auto}.page-hero-buttons{justify-content:center}.page-hero-logo img{max-width:150px}}@media screen and (max-width:768px){.page-hero-buttons{flex-direction:column;align-items:center}.page-hero.is-medium,.page-hero.is-large{min-height:auto}}.button.is-osgeo-primary{background:var(--gradient-earth);border:none;color:#fff;font-weight:600;padding:1rem 2rem;border-radius:var(--radius-full);position:relative;overflow:hidden;transition:all .3s var(--ease-smooth);box-shadow:var(--shadow-md)}.button.is-osgeo-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 50%);opacity:0;transition:opacity .3s var(--ease-smooth)}.button.is-osgeo-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-xl),var(--shadow-glow)}.button.is-osgeo-primary:hover::before{opacity:1}.button.is-osgeo-primary:active{transform:translateY(-1px)}.button.is-osgeo-secondary{background:0 0;border:2px solid var(--osgeo-green);color:var(--osgeo-green);font-weight:600;padding:1rem 2rem;border-radius:var(--radius-full);transition:all .3s var(--ease-smooth)}.button.is-osgeo-secondary:hover{background:var(--osgeo-green);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.button.is-osgeo-cta{background:var(--osgeo-green);border:none;color:#fff;font-size:1.25rem;font-weight:700;padding:1.25rem 3rem;border-radius:var(--radius-full);position:relative;overflow:hidden;transition:all .3s var(--ease-smooth);box-shadow:var(--shadow-lg)}.button.is-osgeo-cta::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.3);border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.button.is-osgeo-cta:hover{transform:scale(1.05);box-shadow:var(--shadow-xl),var(--shadow-glow)}.button.is-osgeo-cta:hover::after{width:300px;height:300px}.card.is-osgeo-card{background:var(--gradient-card);border:1px solid rgba(0,58,64,8%);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all .4s var(--ease-smooth);overflow:hidden;position:relative}.card.is-osgeo-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-earth);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-smooth)}.card.is-osgeo-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.card.is-osgeo-card:hover::before{transform:scaleX(1)}.card.is-project-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);transition:all .4s var(--ease-smooth);position:relative}.card.is-project-card .card-image{position:relative;overflow:hidden}.card.is-project-card .card-image::after{content:'';position:absolute;inset:0;background:var(--gradient-hero);opacity:0;transition:opacity .3s var(--ease-smooth)}.card.is-project-card:hover .card-image::after{opacity:.3}.card.is-project-card .card-image img{transition:transform .5s var(--ease-smooth)}.card.is-project-card:hover .card-image img{transform:scale(1.1)}.card.is-project-card:hover{transform:translateY(-12px)scale(1.02);box-shadow:var(--shadow-xl)}.card.is-feature-card{background:#fff;border-radius:var(--radius-xl);padding:var(--space-xl);text-align:center;border:2px solid transparent;transition:all .4s var(--ease-smooth);position:relative}.card.is-feature-card .icon-wrapper{width:80px;height:80px;margin:0 auto var(--space-lg);background:var(--gradient-earth);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff;font-size:2rem;transition:all .4s var(--ease-bounce)}.card.is-feature-card:hover .icon-wrapper{transform:scale(1.15)rotate(5deg);box-shadow:var(--shadow-glow)}.card.is-feature-card:hover{border-color:var(--osgeo-green);box-shadow:var(--shadow-lg)}.card.is-glass-card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-xl);color:#fff}.card.is-dark-card{background:var(--gradient-dark-card);border-radius:var(--radius-lg);padding:var(--space-xl);color:#fff;box-shadow:var(--shadow-lg)}.card.is-dark-card .title,.card.is-dark-card .subtitle{color:#fff}.section.is-osgeo-section{position:relative;overflow:hidden}.section.has-gradient-bg{background:var(--gradient-earth);color:#fff}.section.has-gradient-bg .title,.section.has-gradient-bg .subtitle{color:#fff}.section.has-pattern-bg{background-color:var(--light1);background-image:radial-gradient(circle at 25px 25px,rgba(0,58,64,3%) 2px,transparent 0),radial-gradient(circle at 75px 75px,rgba(77,176,91,3%) 2px,transparent 0);background-size:100px 100px}.section-wave{position:absolute;bottom:0;left:0;width:100%;overflow:hidden;line-height:0}.section-wave svg{position:relative;display:block;width:calc(100% + 1.3px);height:80px}.section-wave .shape-fill{fill:#fff}.navbar.is-osgeo-nav{background:rgba(255,255,255,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-sm);transition:all .3s var(--ease-smooth)}.navbar.is-osgeo-nav.is-scrolled{box-shadow:var(--shadow-md)}.navbar.is-osgeo-nav .navbar-item{font-weight:500;color:var(--osgeo-teal);position:relative;transition:color .3s var(--ease-smooth)}.navbar.is-osgeo-nav .navbar-item::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:3px;background:var(--osgeo-green);transform:translateX(-50%);transition:width .3s var(--ease-smooth);border-radius:var(--radius-full)}.navbar.is-osgeo-nav .navbar-item:hover::after,.navbar.is-osgeo-nav .navbar-item.is-active::after{width:80%}.navbar.is-osgeo-nav .navbar-item:hover{color:var(--osgeo-green);background:0 0}.navbar.is-osgeo-nav .navbar-dropdown{background:#fff;border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-sm)}.navbar.is-osgeo-nav .navbar-dropdown .navbar-item{border-radius:var(--radius-sm);padding:var(--space-sm)var(--space-md)}.navbar.is-osgeo-nav .navbar-dropdown .navbar-item:hover{background:rgba(77,176,91,.1)}.navbar.is-osgeo-nav .navbar-logo{height:40px;max-height:40px}.navbar.is-osgeo-nav .navbar-brand-text{font-family:var(--font-heading);font-size:1.25rem;color:var(--osgeo-teal)}.navbar.is-osgeo-nav .navbar-brand>.navbar-item:hover{background:0 0}.navbar.is-osgeo-nav .navbar-brand>.navbar-item::after{display:none}.navbar.is-osgeo-nav .navbar-dropdown .navbar-item .icon{width:2rem;margin-right:.75rem;font-size:1.25rem}.navbar.is-osgeo-nav .navbar-dropdown .navbar-item strong{display:block;color:var(--osgeo-teal)}.navbar.is-osgeo-nav .navbar-dropdown .navbar-item small{font-size:.8rem}.navbar.is-osgeo-nav .navbar-dropdown .navbar-item:hover strong{color:var(--osgeo-green)}.navbar.is-osgeo-nav .navbar-end .navbar-item{padding:.5rem .75rem}.navbar.is-osgeo-nav .navbar-end .navbar-item::after{display:none}.navbar.is-osgeo-nav .navbar-end .icon{font-size:1.25rem}.button.is-osgeo-primary{background:var(--osgeo-green);border-color:transparent;color:#fff;font-weight:600;transition:all .3s var(--ease-smooth)}.button.is-osgeo-primary:hover{background:var(--osgeo-green-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.navbar.is-osgeo-nav .navbar-burger{color:var(--osgeo-teal)}.navbar.is-osgeo-nav .navbar-burger:hover{background:rgba(77,176,91,.1);color:var(--osgeo-green)}@media screen and (max-width:1023px){.navbar.is-osgeo-nav .navbar-menu{background:#fff;box-shadow:var(--shadow-lg);padding:var(--space-md)}.navbar.is-osgeo-nav .navbar-dropdown{box-shadow:none;padding-left:var(--space-md)}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-xl)}.stat-item{text-align:center;padding:var(--space-xl)}.stat-number{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;background:var(--gradient-earth);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:var(--space-sm)}.stat-label{font-size:1rem;font-weight:600;color:var(--osgeo-teal);text-transform:uppercase;letter-spacing:.1em}.stat-number[data-count]{opacity:0;transform:translateY(20px);transition:all .6s var(--ease-smooth)}.stat-number[data-count].is-visible{opacity:1;transform:translateY(0)}.category-tag{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs)var(--space-md);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:all .3s var(--ease-smooth)}.category-tag.is-desktop{background:rgba(77,176,91,.15);color:var(--osgeo-green-dark)}.category-tag.is-web{background:rgba(0,184,212,.15);color:#0097a7}.category-tag.is-library{background:rgba(0,58,64,.15);color:var(--osgeo-teal)}.category-tag.is-database{background:rgba(245,158,11,.15);color:#d97706}.category-tag.is-catalog{background:rgba(139,92,246,.15);color:#7c3aed}.container.rich{background:#fff;border-radius:var(--radius-lg);padding:var(--space-xl);height:100%;display:flex;flex-direction:column;border:1px solid rgba(0,58,64,8%);box-shadow:var(--shadow-sm);transition:all .3s var(--ease-smooth);position:relative;overflow:hidden}.container.rich::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-earth);opacity:0;transition:opacity .3s var(--ease-smooth)}.container.rich:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(77,176,91,.2)}.container.rich:hover::before{opacity:1}.container.rich::after{content:'';position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 40px 40px 0;border-color:transparent rgba(77,176,91,6%)transparent transparent;transition:all .3s var(--ease-smooth)}.container.rich:hover::after{border-width:0 55px 55px 0;border-color:transparent rgba(77,176,91,.12)transparent transparent}.container.rich .icon{width:56px;height:56px;background:var(--gradient-earth);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-lg);font-size:1.5rem;color:#fff;flex-shrink:0}.container.rich h3,.container.rich h4{color:var(--osgeo-teal);font-weight:700;margin-bottom:var(--space-md);font-size:1.25rem;line-height:1.3}.container.rich p{color:#4a5568;line-height:1.6;margin-bottom:var(--space-md);flex-grow:1}.container.rich a{color:var(--osgeo-green);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-xs);transition:all .2s var(--ease-smooth)}.container.rich a:hover{color:var(--osgeo-green-dark);gap:var(--space-sm)}.container.rich .category-tag{margin-top:auto;margin-bottom:var(--space-md);align-self:flex-start}.container.rich img{max-width:100%;height:auto;object-fit:contain}.container.rich .has-text-centered img{max-height:80px;width:auto;margin:0 auto}.column .container.rich{height:100%}.columns{align-items:stretch}.columns .column{display:flex;flex-direction:column}.columns .column>.container.rich{flex:1}.featured-projects .columns{margin-bottom:var(--space-lg)}.featured-projects .container.rich{text-align:center}.featured-projects .container.rich img{margin-bottom:var(--space-md)}.featured-projects .container.rich h3{text-align:left}.featured-projects .container.rich p{text-align:left}.project-logo-wrapper{height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-lg);padding:var(--space-md);background:rgba(0,58,64,2%);border-radius:var(--radius-md)}.project-logo-wrapper img{max-height:100%;width:auto;object-fit:contain}.interstitial-section{position:relative;padding:var(--space-4xl)0;margin:var(--space-3xl)0;overflow:hidden}.interstitial-section.is-gradient-earth{background:linear-gradient(135deg,#001F22 0%,#003A40 30%,#006670 60%,#4DB05B 100%)}.interstitial-section.is-gradient-ocean{background:linear-gradient(135deg,#001F22 0%,#003A40 40%,#00B8D4 80%,#4DB05B 100%)}.interstitial-section.is-gradient-forest{background:linear-gradient(135deg,#001F22 0%,#2D6E4B 50%,#6FCF7A 100%)}.interstitial-bg{position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(77,176,91,.2) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(0,184,212,.15) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(255,255,255,5%) 0%,transparent 70%);pointer-events:none}.interstitial-bg.is-animated{animation:floatGradients 20s ease-in-out infinite}@keyframes floatGradients{0%,100%{transform:scale(1)translate(0,0);opacity:1}33%{transform:scale(1.1)translate(2%,-2%);opacity:.9}66%{transform:scale(1.05)translate(-1%,1%);opacity:.95}}.interstitial-section::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,3%) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,3%) 1px,transparent 1px);background-size:50px 50px;pointer-events:none}.interstitial-header{text-align:center;margin-bottom:var(--space-3xl);position:relative;z-index:2}.interstitial-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;color:#fff;margin-bottom:var(--space-lg);text-shadow:0 2px 20px rgba(0,0,0,.3);line-height:1.2}.interstitial-subtitle{font-size:clamp(1.1rem,2.5vw,1.4rem);color:rgba(255,255,255,.9);max-width:700px;margin:0 auto;line-height:1.6}.feature-card{background:#fff;border-radius:var(--radius-xl);padding:var(--space-2xl);height:100%;display:flex;flex-direction:column;position:relative;z-index:2;transition:all .4s var(--ease-smooth);box-shadow:0 10px 40px rgba(0,0,0,.15)}.feature-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--gradient-earth);border-radius:var(--radius-xl)var(--radius-xl)0 0;opacity:0;transition:opacity .3s var(--ease-smooth)}.feature-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px rgba(0,0,0,.2)}.feature-card:hover::before{opacity:1}.feature-card::after{content:'';position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 50px 50px 0;border-color:transparent rgba(77,176,91,8%)transparent transparent;border-radius:0 var(--radius-xl)0 0;transition:all .3s var(--ease-smooth)}.feature-card:hover::after{border-width:0 70px 70px 0;border-color:transparent rgba(77,176,91,.15)transparent transparent}.feature-card.is-glass{background:rgba(255,255,255,.1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);box-shadow:0 10px 40px rgba(0,0,0,.2)}.feature-card.is-glass::before{background:linear-gradient(90deg,rgba(255,255,255,.3) 0%,rgba(255,255,255,.1) 100%)}.feature-card.is-glass h3{color:#fff}.feature-card.is-glass p{color:rgba(255,255,255,.85)}.feature-card.is-glass:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3)}.feature-card.is-glass::after{border-color:transparent rgba(255,255,255,.1)transparent transparent}.feature-card.is-glass:hover::after{border-color:transparent rgba(255,255,255,.2)transparent transparent}.feature-icon{width:64px;height:64px;background:var(--gradient-earth);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-xl);font-size:1.75rem;color:#fff;box-shadow:0 4px 20px rgba(77,176,91,.3);transition:all .3s var(--ease-bounce)}.feature-icon.is-large{width:80px;height:80px;font-size:2rem}.feature-card:hover .feature-icon{transform:scale(1.1)rotate(5deg);box-shadow:0 8px 30px rgba(77,176,91,.4)}.feature-card.is-glass .feature-icon{background:rgba(255,255,255,.2);box-shadow:0 4px 20px rgba(0,0,0,.2)}.feature-card h3{font-size:1.5rem;font-weight:700;color:var(--osgeo-teal);margin-bottom:var(--space-md);line-height:1.3}.feature-card p{color:#4a5568;line-height:1.7;flex-grow:1;margin-bottom:var(--space-lg)}.feature-highlight{background:rgba(77,176,91,.1);border-left:4px solid var(--osgeo-green);padding:var(--space-md)var(--space-lg);border-radius:0 var(--radius-md)var(--radius-md)0;margin-bottom:var(--space-lg);font-weight:600;color:var(--osgeo-green-dark)}.feature-card.is-glass .feature-highlight{background:rgba(255,255,255,.1);border-left-color:rgba(255,255,255,.5);color:#fff}.feature-link{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--osgeo-green);font-weight:600;text-decoration:none;transition:all .2s var(--ease-smooth);margin-top:auto}.feature-link i{transition:transform .2s var(--ease-smooth)}.feature-link:hover{color:var(--osgeo-green-dark)}.feature-link:hover i{transform:translateX(4px)}.feature-link.is-light{color:#fff}.feature-link.is-light:hover{color:var(--osgeo-green-light)}.interstitial-section .container{position:relative;z-index:2}.interstitial-section .columns{margin-top:0}.section-header{text-align:center;padding:var(--space-4xl)var(--space-xl)var(--space-2xl);position:relative}.section-header::before{content:'';position:absolute;top:var(--space-2xl);left:50%;transform:translateX(-50%)skewX(-20deg);width:100px;height:4px;background:var(--gradient-earth);border-radius:var(--radius-sm);opacity:.4}.section-header::after{content:'';position:absolute;top:calc(var(--space-2xl) + 8px);left:50%;transform:translateX(-30%)skewX(-20deg);width:60px;height:3px;background:var(--osgeo-green);border-radius:var(--radius-sm);opacity:.25}.section-header-badge{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-lg);background:linear-gradient(135deg,rgba(77,176,91,.1) 0%,rgba(0,102,112,.1) 100%);border:1px solid rgba(77,176,91,.2);border-radius:var(--radius-full);font-size:.875rem;font-weight:600;color:var(--osgeo-green-dark);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-lg);animation:badgePulse 3s ease-in-out infinite}.section-header-badge i{color:var(--osgeo-green);font-size:1rem}@keyframes badgePulse{0%,100%{box-shadow:0 0 rgba(77,176,91,.2)}50%{box-shadow:0 0 20px 5px rgba(77,176,91,.15)}}.section-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1;margin-bottom:var(--space-md);background:linear-gradient(135deg,#003A40 0%,#006670 50%,#4DB05B 100%)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;letter-spacing:-.02em}.section-subtitle{font-size:clamp(1.1rem,2vw,1.35rem);color:#5a6c7d;max-width:700px;margin:0 auto;line-height:1.6;font-weight:400}.section-header.is-compact{padding:var(--space-2xl)var(--space-xl)var(--space-xl)}.section-header.is-compact::before,.section-header.is-compact::after{display:none}.section-header.is-left{text-align:left}.section-header.is-left::before{left:0;transform:skewX(-20deg)}.section-header.is-left::after{left:0;transform:translateX(40px)skewX(-20deg)}.section-header.is-left .section-subtitle{margin:0}.section-header.is-dark .section-title{background:linear-gradient(135deg,#fff 0%,var(--osgeo-green-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-header.is-dark .section-subtitle{color:rgba(255,255,255,.8)}.section-header.is-dark .section-header-badge{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}.section-header.is-dark .section-header-badge i{color:var(--osgeo-green-light)}.timeline{position:relative;padding-left:var(--space-2xl)}.timeline::before{content:'';position:absolute;left:8px;top:0;bottom:0;width:4px;background:var(--gradient-earth);border-radius:var(--radius-full)}.timeline-item{position:relative;padding-bottom:var(--space-2xl)}.timeline-item::before{content:'';position:absolute;left:calc(-1 * var(--space-2xl) + 2px);top:4px;width:16px;height:16px;background:#fff;border:4px solid var(--osgeo-green);border-radius:50%;z-index:1;transition:all .3s var(--ease-bounce)}.timeline-item:hover::before{transform:scale(1.3);background:var(--osgeo-green)}.timeline-year{font-weight:700;color:var(--osgeo-green);font-size:1.25rem;margin-bottom:var(--space-sm)}.sponsor-grid{display:grid;gap:var(--space-xl)}.sponsor-tier{margin-bottom:var(--space-2xl)}.sponsor-tier-title{display:inline-flex;align-items:center;gap:var(--space-sm);font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-lg);padding:var(--space-sm)var(--space-lg);border-radius:var(--radius-full)}.sponsor-tier-title.is-diamond{background:linear-gradient(135deg,#E8E8E8,#FFFFFF,#E8E8E8);color:var(--osgeo-teal);box-shadow:0 0 20px rgba(255,255,255,.5)}.sponsor-tier-title.is-gold{background:linear-gradient(135deg,#FFD700,#FFA500);color:var(--osgeo-teal-dark)}.sponsor-tier-title.is-silver{background:linear-gradient(135deg,#C0C0C0,#E8E8E8);color:var(--osgeo-teal)}.sponsor-tier-title.is-bronze{background:linear-gradient(135deg,#CD7F32,#B87333);color:#fff}.sponsor-logo{background:#fff;border-radius:var(--radius-md);padding:var(--space-lg);display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease-smooth);border:1px solid rgba(0,58,64,8%)}.sponsor-logo:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.sponsor-logo img{max-height:60px;width:auto;filter:grayscale(20%);transition:filter .3s var(--ease-smooth)}.sponsor-logo:hover img{filter:grayscale(0%)}.footer.is-osgeo-footer{background:var(--gradient-dark-card);color:#fff;padding-top:var(--space-4xl);position:relative;overflow:hidden}.footer.is-osgeo-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-earth)}.footer.is-osgeo-footer .footer-logo{filter:brightness(0)invert(1);opacity:.9}.footer.is-osgeo-footer a{color:rgba(255,255,255,.8);transition:all .3s var(--ease-smooth)}.footer.is-osgeo-footer a:hover{color:var(--osgeo-green);transform:translateX(3px)}.footer.is-osgeo-footer .footer-heading{color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.875rem;margin-bottom:var(--space-lg)}.footer-social{display:flex;gap:var(--space-md)}.footer-social a{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border-radius:var(--radius-full);transition:all .3s var(--ease-smooth)}.footer-social a:hover{background:var(--osgeo-green);transform:translateY(-3px)scale(1.1)}.reveal{opacity:0;transform:translateY(40px);transition:all .8s var(--ease-smooth)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal.from-left{transform:translateX(-40px)}.reveal.from-left.is-visible{transform:translateX(0)}.reveal.from-right{transform:translateX(40px)}.reveal.from-right.is-visible{transform:translateX(0)}.reveal.scale-up{transform:scale(.9)}.reveal.scale-up.is-visible{transform:scale(1)}.stagger-children>*{opacity:0;transform:translateY(20px);transition:all .5s var(--ease-smooth)}.stagger-children.is-visible>*:nth-child(1){transition-delay:.1s}.stagger-children.is-visible>*:nth-child(2){transition-delay:.2s}.stagger-children.is-visible>*:nth-child(3){transition-delay:.3s}.stagger-children.is-visible>*:nth-child(4){transition-delay:.4s}.stagger-children.is-visible>*:nth-child(5){transition-delay:.5s}.stagger-children.is-visible>*:nth-child(6){transition-delay:.6s}.stagger-children.is-visible>*{opacity:1;transform:translateY(0)}.cta-section{background:var(--gradient-earth);padding:var(--space-4xl)var(--space-xl);border-radius:var(--radius-xl);text-align:center;position:relative;overflow:hidden}.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 0% 100%,rgba(77,176,91,.4) 0%,transparent 50%),radial-gradient(circle at 100% 0%,rgba(0,184,212,.3) 0%,transparent 50%)}.cta-section::after{content:'';position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 100px 100px 0;border-color:transparent rgba(255,255,255,8%)transparent transparent}.cta-section .triangle-decor-left{position:absolute;bottom:0;left:0;width:0;height:0;border-style:solid;border-width:80px 0 0 80px;border-color:transparent transparent transparent rgba(255,255,255,5%)}.cta-section .title,.cta-section .subtitle{color:#fff;position:relative;z-index:1}.cta-section .buttons{position:relative;z-index:1}.text-gradient{background:var(--gradient-earth);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bg-gradient-earth{background:var(--gradient-earth)}.bg-gradient-ocean{background:var(--gradient-ocean)}.bg-gradient-forest{background:var(--gradient-forest)}.has-shadow-glow{box-shadow:var(--shadow-glow)}.has-rounded-xl{border-radius:var(--radius-xl)!important}.is-hoverable{transition:all .3s var(--ease-smooth)}.is-hoverable:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}@media screen and (max-width:768px){.hero.is-osgeo-hero{min-height:70vh}.hero.is-osgeo-hero .title{font-size:2rem}.stat-number{font-size:2rem}.cta-section{padding:var(--space-2xl)var(--space-lg);border-radius:var(--radius-lg)}.button.is-osgeo-cta{font-size:1rem;padding:1rem 2rem}}@media print{.hero.is-osgeo-hero{background:var(--osgeo-teal)!important;min-height:auto}.button.is-osgeo-primary,.button.is-osgeo-cta{border:2px solid var(--osgeo-green)}.reveal{opacity:1!important;transform:none!important}}.project-filter-bar{background:#fff;border-radius:0;padding:1rem 1.5rem;box-shadow:0 2px 12px rgba(0,0,0,6%);border:1px solid rgba(0,0,0,6%)}.filter-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.category-pills{display:flex;gap:.5rem;flex-wrap:wrap}.pill{padding:.5rem 1rem;border-radius:0;border:none;background:#f5f5f5;color:#666;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.pill:hover{background:#e8e8e8;color:#333}.pill.is-active{background:var(--osgeo-green);color:#fff}.pill[data-filter]:not([data-filter=all]).is-active{background:var(--pill-color,var(--osgeo-green))}.search-box{position:relative;min-width:240px}.search-box i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#999;font-size:.875rem}.search-box input{width:100%;padding:.625rem 1rem .625rem 2.5rem;border:1px solid #e0e0e0;border-radius:0;font-size:.875rem;transition:all .2s ease;background:#fafafa}.search-box input:focus{outline:none;border-color:var(--osgeo-green);background:#fff;box-shadow:0 0 0 3px rgba(77,176,91,.1)}.project-grid-clean{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.project-card-clean{position:relative;display:flex;align-items:stretch;background:#fff;border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 1px 3px rgba(0,0,0,8%);border:1px solid rgba(0,0,0,6%);transition:all .25s ease}.project-card-clean:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.12);border-color:transparent}.card-accent{width:4px;flex-shrink:0}.card-body{flex:1;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.project-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.project-title{font-size:1.125rem;font-weight:600;color:#1a1a1a;margin:0;line-height:1.3}.project-desc{font-size:.875rem;color:#666;margin:0;line-height:1.5;flex:1}.category-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.card-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%)translateX(8px);opacity:0;color:var(--osgeo-green);transition:all .25s ease}.project-card-clean:hover .card-arrow{opacity:1;transform:translateY(-50%)translateX(0)}.no-results-clean{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#999}.no-results-clean i{font-size:3rem;margin-bottom:1rem;opacity:.4}.no-results-clean p{margin-bottom:1rem}.no-results-clean button{padding:.5rem 1.5rem;border:none;border-radius:100px;background:var(--osgeo-green);color:#fff;font-weight:500;cursor:pointer;transition:all .2s ease}.no-results-clean button:hover{background:var(--osgeo-green-dark)}.results-footer{text-align:center;padding:2rem 0 1rem;color:#999;font-size:.875rem}@media(max-width:768px){.filter-bar-inner{flex-direction:column;align-items:stretch}.category-pills{justify-content:center}.search-box{min-width:100%}.project-grid-clean{grid-template-columns:1fr}}.project-hero{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);padding:4rem 0 3rem;position:relative;overflow:hidden}.project-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--project-color,#2cb67d)}.project-breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.875rem;margin-bottom:1.5rem;color:#6c757d}.project-breadcrumb a{color:#6c757d;text-decoration:none;transition:color .2s ease}.project-breadcrumb a:hover{color:var(--project-color,#2cb67d)}.project-hero-title{font-size:3rem;font-weight:800;color:#1a1a2e;margin-bottom:.75rem;line-height:1.1}.project-hero-tagline{font-size:1.25rem;color:#4a4a68;margin-bottom:1.5rem;max-width:600px}.project-hero-badges{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:50px;font-size:.875rem;font-weight:600}.badge-incubated{background:linear-gradient(135deg,#2cb67d 0%,#1a936f 100%);color:#fff}.badge-community{background:linear-gradient(135deg,#3a86ff 0%,#2667cc 100%);color:#fff}.badge-category{color:#fff}.project-hero-actions{display:flex;flex-wrap:wrap;gap:1rem}.btn-hero{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;border-radius:8px;font-size:.9375rem;font-weight:600;text-decoration:none;transition:all .25s ease}.btn-hero.btn-primary{background:var(--project-color,#2cb67d);color:#fff}.btn-hero.btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.15)}.btn-hero.btn-secondary{background:#fff;color:#1a1a2e;box-shadow:0 2px 8px rgba(0,0,0,.1)}.btn-hero.btn-secondary:hover{background:#f8f9fa;transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.12)}.btn-hero.btn-outline{background:0 0;color:#1a1a2e;border:2px solid #dee2e6}.btn-hero.btn-outline:hover{border-color:var(--project-color,#2cb67d);color:var(--project-color,#2cb67d);transform:translateY(-2px)}.project-hero-icon{width:180px;height:180px;border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:5rem;margin-left:auto}.project-content-section{padding:3rem 0 4rem}.project-section{margin-bottom:3rem}.project-section h2{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid #e9ecef}.project-description{font-size:1.125rem;line-height:1.8;color:#4a4a68;margin-bottom:1.5rem}.project-markdown{line-height:1.8;color:#4a4a68}.project-markdown h3{color:#1a1a2e;margin-top:2rem;margin-bottom:1rem}.project-markdown p{margin-bottom:1rem}.feature-list{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.feature-list li{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:10px;transition:all .2s ease}.feature-list li:hover{background:#e9ecef;transform:translateX(4px)}.feature-list li i{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.875rem}.feature-list li span{color:#4a4a68;font-size:1rem}.project-sidebar{position:sticky;top:2rem}.sidebar-card{background:#fff;border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 12px rgba(0,0,0,6%);border:1px solid #e9ecef}.sidebar-card h3{font-size:1rem;font-weight:700;color:#1a1a2e;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e9ecef}.quick-links{list-style:none;padding:0;margin:0}.quick-links li{margin-bottom:.5rem}.quick-links li:last-child{margin-bottom:0}.quick-links a{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px;color:#4a4a68;text-decoration:none;transition:all .2s ease}.quick-links a:hover{background:#f8f9fa;color:#1a1a2e;transform:translateX(4px)}.quick-links a i{width:20px;color:#6c757d}.tech-details{margin:0}.tech-details dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:#6c757d;margin-bottom:.25rem}.tech-details dd{margin:0 0 1rem;color:#1a1a2e;font-weight:500}.tech-details dd:last-child{margin-bottom:0}.sidebar-cta{background:linear-gradient(135deg,#f0f9f4 0%,#e3f2fd 100%);border-color:transparent}.sidebar-cta h3{border-bottom-color:rgba(0,0,0,.1)}.sidebar-cta p{font-size:.9375rem;color:#4a4a68;margin-bottom:1rem}.btn-sidebar{display:inline-flex;align-items:center;gap:.5rem;width:100%;justify-content:center;padding:.875rem 1.25rem;background:#2cb67d;color:#fff;border-radius:8px;font-weight:600;text-decoration:none;transition:all .25s ease}.btn-sidebar:hover{background:#249c6b;transform:translateY(-2px);box-shadow:0 8px 20px rgba(44,182,125,.3);color:#fff}.project-nav-section{background:#f8f9fa;padding:2rem 0}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:#6c757d;text-decoration:none;font-weight:500;transition:all .2s ease}.back-link:hover{color:#2cb67d;transform:translateX(-4px)}@media(max-width:768px){.project-hero{padding:2rem 0}.project-hero-title{font-size:2rem}.project-hero-tagline{font-size:1.1rem}.project-hero-icon{width:100px;height:100px;font-size:3rem;margin:2rem auto 0}.project-hero-actions{flex-direction:column}.btn-hero{width:100%;justify-content:center}.project-sidebar{position:static;margin-top:2rem}}.project-hero-image{border-radius:16px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.15)}.project-hero-image img{width:100%;height:auto;display:block}.standards-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.standards-list li{display:flex;align-items:flex-start;gap:1rem;padding:.875rem 1rem;background:#f8f9fa;border-radius:10px;transition:all .2s ease}.standards-list li:hover{background:#e9ecef;transform:translateX(4px)}.standards-list li i{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.875rem}.standards-list li span{color:#4a4a68;font-size:.9375rem}.project-components{margin:1.5rem 0}.component-item{padding:1rem;background:#f8f9fa;border-radius:8px;margin-bottom:.75rem;line-height:1.6}.component-item strong{color:#1a1a2e}.project-overview{font-size:1.125rem;color:#4a4a68;margin-bottom:1rem;font-style:italic}.project-platform{color:#6c757d;font-size:.9375rem;margin-top:1rem}.section-intro,.section-summary{color:#4a4a68;margin-bottom:1rem}.project-specs{line-height:1.8;color:#4a4a68}.related-list{list-style:none;padding:0;margin:0}.related-list li{padding:.5rem 0;border-bottom:1px solid #e9ecef;color:#4a4a68}.related-list li:last-child{border-bottom:none}.project-screenshot{margin:2rem 0;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.12);border:1px solid #e9ecef}.project-screenshot img{width:100%;height:auto;display:block}.badge-doi{background:#f8f9fa;color:#495057;text-decoration:none;font-size:.75rem;transition:all .2s ease}.badge-doi:hover{background:#e9ecef;color:#1a1a2e}.service-providers-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.service-provider-card{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f8f9fa;border-radius:10px;text-decoration:none;color:#1a1a2e;transition:all .2s ease;border:1px solid transparent}.service-provider-card:hover{background:#fff;border-color:#dee2e6;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,8%)}.service-provider-card .provider-name{font-weight:500;font-size:.9375rem}.service-provider-card i{color:#6c757d;font-size:.75rem}.related-list a{color:var(--project-color,#2cb67d);text-decoration:none;transition:color .2s ease}.related-list a:hover{color:#1a1a2e;text-decoration:underline}@media(max-width:768px){.service-providers-grid{grid-template-columns:1fr}}.diagonal-top{position:relative}.diagonal-top::before{content:'';position:absolute;top:0;left:0;right:0;height:80px;background:inherit;clip-path:polygon(0 0,100% 60px,100% 100%,0 100%);z-index:1}.diagonal-bottom{position:relative}.diagonal-bottom::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:80px;background:#fff;clip-path:polygon(0 0,100% 100%,0 100%);z-index:5}.angle-divider-down{position:relative}.angle-divider-down::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:100px;background:linear-gradient(to bottom right,transparent 49.5%,white 50%);z-index:5}.angle-divider-up{position:relative}.angle-divider-up::before{content:'';position:absolute;top:-1px;left:0;right:0;height:100px;background:linear-gradient(to top left,transparent 49.5%,white 50%);z-index:5}.chevron-divider::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:60px;background:#fff;clip-path:polygon(0 100%,50% 0,100% 100%);z-index:5}.interstitial-section.has-angle-top{margin-top:0;padding-top:calc(var(--space-4xl) + 80px);clip-path:polygon(0 60px,100% 0,100% 100%,0 100%)}.interstitial-section.has-angle-bottom{margin-bottom:0;padding-bottom:calc(var(--space-4xl) + 80px);clip-path:polygon(0 0,100% 0,100% calc(100% - 60px),0 100%)}.interstitial-section.has-angle-top.has-angle-bottom{clip-path:polygon(0 60px,100% 0,100% calc(100% - 60px),0 100%)}.hero-triangles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3}.hero-triangle{position:absolute;width:0;height:0;opacity:.08}.hero-triangle-1{top:10%;right:5%;border-left:80px solid transparent;border-right:80px solid transparent;border-bottom:140px solid var(--osgeo-green);animation:floatTriangle 15s ease-in-out infinite}.hero-triangle-2{bottom:20%;left:8%;border-left:60px solid transparent;border-right:60px solid transparent;border-bottom:100px solid var(--accent-cyan);animation:floatTriangle 18s ease-in-out infinite reverse;animation-delay:-3s}.hero-triangle-3{top:40%;right:15%;border-left:40px solid transparent;border-right:40px solid transparent;border-bottom:70px solid #fff;animation:floatTriangle 12s ease-in-out infinite;animation-delay:-6s}.hero-triangle-4{bottom:35%;left:20%;border-left:50px solid transparent;border-right:50px solid transparent;border-top:85px solid var(--osgeo-green-light);animation:floatTriangle 20s ease-in-out infinite reverse;animation-delay:-9s}.hero-triangle-5{top:60%;right:35%;border-left:30px solid transparent;border-right:30px solid transparent;border-bottom:50px solid rgba(255,255,255,.5);animation:floatTriangle 14s ease-in-out infinite;animation-delay:-4s}@keyframes floatTriangle{0%,100%{transform:translateY(0)rotate(0)}25%{transform:translateY(-20px)rotate(5deg)}50%{transform:translateY(-10px)rotate(-3deg)}75%{transform:translateY(-25px)rotate(2deg)}}.geo-accent{position:relative}.geo-accent::before{content:'';position:absolute;top:0;left:0;width:100px;height:4px;background:var(--gradient-earth);transform:skewX(-20deg)}.card-triangle-accent{position:relative;overflow:hidden}.card-triangle-accent::before{content:'';position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 60px 60px 0;border-color:transparent var(--osgeo-green)transparent transparent;opacity:.1;transition:all .3s var(--ease-smooth)}.card-triangle-accent:hover::before{border-width:0 80px 80px 0;opacity:.2}.triangle-badge{position:absolute;top:0;right:0;width:80px;height:80px;overflow:hidden}.triangle-badge::before{content:'';position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 80px 80px 0;border-color:transparent var(--osgeo-green)transparent transparent}.triangle-badge-icon{position:absolute;top:12px;right:12px;color:#fff;font-size:1rem;z-index:1}.slant-section{position:relative;padding:var(--space-4xl)0;background:var(--gradient-earth);transform:skewY(-3deg);margin:var(--space-4xl)0}.slant-section>.container{transform:skewY(3deg)}.button.is-angular{position:relative;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);padding-left:2rem;padding-right:2rem}.triangle-list{list-style:none;padding-left:1.5rem}.triangle-list li{position:relative;padding-left:1.5rem;margin-bottom:.75rem}.triangle-list li::before{content:'';position:absolute;left:0;top:.5em;width:0;height:0;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent var(--osgeo-green)}.topo-pattern{position:relative}.topo-pattern::before{content:'';position:absolute;inset:0;background-image:linear-gradient(30deg,rgba(77,176,91,3%) 12%,transparent 12.5%,transparent 87%,rgba(77,176,91,3%) 87.5%,rgba(77,176,91,3%)),linear-gradient(150deg,rgba(77,176,91,3%) 12%,transparent 12.5%,transparent 87%,rgba(77,176,91,3%) 87.5%,rgba(77,176,91,3%)),linear-gradient(30deg,rgba(77,176,91,3%) 12%,transparent 12.5%,transparent 87%,rgba(77,176,91,3%) 87.5%,rgba(77,176,91,3%)),linear-gradient(150deg,rgba(77,176,91,3%) 12%,transparent 12.5%,transparent 87%,rgba(77,176,91,3%) 87.5%,rgba(77,176,91,3%)),linear-gradient(60deg,rgba(0,184,212,2%) 25%,transparent 25.5%,transparent 75%,rgba(0,184,212,2%) 75%,rgba(0,184,212,2%)),linear-gradient(60deg,rgba(0,184,212,2%) 25%,transparent 25.5%,transparent 75%,rgba(0,184,212,2%) 75%,rgba(0,184,212,2%));background-size:80px 140px;background-position:0 0,0 0,40px 70px,40px 70px,0 0,40px 70px;pointer-events:none;z-index:1}.contour-lines{position:relative}.contour-lines::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient( 45deg,transparent,transparent 40px,rgba(77,176,91,3%) 40px,rgba(77,176,91,3%) 42px );pointer-events:none}@media screen and (max-width:1023px){.hero-triangle-1{border-left-width:50px;border-right-width:50px;border-bottom-width:85px}.hero-triangle-2{border-left-width:40px;border-right-width:40px;border-bottom-width:65px}.angle-divider-down::after,.angle-divider-up::before{height:60px}.diagonal-top::before,.diagonal-bottom::after{height:50px}}@media screen and (max-width:768px){.hero-triangle{display:none}.slant-section{transform:skewY(-2deg)}.slant-section>.container{transform:skewY(2deg)}.angle-divider-down::after,.angle-divider-up::before{height:40px}.interstitial-section.has-angle-top{padding-top:calc(var(--space-3xl) + 50px);clip-path:polygon(0 40px,100% 0,100% 100%,0 100%)}.interstitial-section.has-angle-bottom{padding-bottom:calc(var(--space-3xl) + 50px);clip-path:polygon(0 0,100% 0,100% calc(100% - 40px),0 100%)}.interstitial-section.has-angle-top.has-angle-bottom{clip-path:polygon(0 40px,100% 0,100% calc(100% - 40px),0 100%)}}.cta-section{background:linear-gradient(135deg,var(--osgeo-teal) 0%,var(--osgeo-teal-light) 100%);border-radius:1.5rem;padding:4rem 3rem;text-align:center;position:relative;overflow:hidden}.cta-section::before{content:'';position:absolute;top:0;right:0;width:50%;height:100%;background:url(/img/osgeo/compass-intro-wide.svg)no-repeat 100%;background-size:cover;opacity:.15;pointer-events:none}.cta-section h2{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.cta-section p{color:rgba(255,255,255,.9);font-size:1.25rem;max-width:600px;margin:0 auto 2rem}.cta-section .button-bar{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.cta-section .button.is-white{background:#fff;color:var(--osgeo-teal);border:none;font-weight:600;padding:1rem 2rem;border-radius:.5rem;transition:all .3s ease}.cta-section .button.is-white:hover{background:var(--osgeo-green);color:#fff;transform:translateY(-2px)}.cta-section .button.is-outlined.is-white{background:0 0;color:#fff;border:2px solid #fff;font-weight:600;padding:1rem 2rem;border-radius:.5rem;transition:all .3s ease}.cta-section .button.is-outlined.is-white:hover{background:#fff;color:var(--osgeo-teal)}.osgeo-sponsors-section{padding:2rem 0}.sponsors-tier{margin-bottom:2rem}.sponsors-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;align-items:center}.sponsor-card{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:1rem;padding:1.5rem;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,6%);border:1px solid rgba(0,0,0,6%)}.sponsor-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.1);border-color:var(--osgeo-green)}.sponsor-card img{max-height:100%;max-width:100%;object-fit:contain;filter:grayscale(0);transition:filter .3s ease}.sponsors-grid-large .sponsor-card{width:200px;height:120px}.sponsor-card.sponsor-flagship{width:240px;height:140px;border:2px solid var(--osgeo-green);background:linear-gradient(135deg,white 0%,rgba(77,176,91,5%) 100%)}.sponsors-grid-medium .sponsor-card{width:160px;height:100px;padding:1rem}.sponsors-grid-small .sponsor-card{width:120px;height:80px;padding:.75rem}.sponsors-empty{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,rgba(77,176,91,5%) 0%,rgba(0,58,64,5%) 100%);border-radius:1rem;border:2px dashed rgba(77,176,91,.3)}.sponsors-empty-content i{font-size:3rem;color:var(--osgeo-green);margin-bottom:1rem;display:block}.sponsors-empty-content p{font-size:1.25rem;color:var(--osgeo-teal);margin-bottom:1.5rem}@media screen and (max-width:768px){.cta-section{padding:3rem 1.5rem}.cta-section h2{font-size:2rem}.cta-section p{font-size:1.1rem}.sponsors-grid-large .sponsor-card{width:160px;height:100px}.sponsor-card.sponsor-flagship{width:180px;height:110px}.sponsors-grid-medium .sponsor-card{width:130px;height:85px}.sponsors-grid-small .sponsor-card{width:100px;height:70px}}.has-anchor{position:relative}.heading-anchor{opacity:0;margin-left:.5rem;font-size:.7em;color:var(--osgeo-green);text-decoration:none;transition:opacity .2s var(--ease-smooth);vertical-align:middle}.has-anchor:hover .heading-anchor,.heading-anchor:focus{opacity:1}.heading-anchor:hover{color:var(--osgeo-teal)}.button-bar-section{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.notification.is-osgeo-featured{background:var(--gradient-earth);border:none;border-radius:var(--radius-lg);padding:var(--space-xl)}.has-background-osgeo-light{background:linear-gradient(135deg,rgba(77,176,91,.1) 0%,rgba(0,58,64,.1) 100%)}.timeline{position:relative;margin:var(--space-xl)0;padding-left:2rem}.timeline::before{content:'';position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--osgeo-green)}.timeline-item{position:relative;padding-bottom:var(--space-xl);padding-left:var(--space-lg)}.timeline-marker{position:absolute;left:-2rem;top:0;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--osgeo-green)}.timeline-marker.is-success{background:var(--osgeo-green)}.timeline-content .heading{color:var(--osgeo-green);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.timeline-content h4{margin-bottom:.5rem;color:var(--osgeo-teal)}.timeline.is-centered{padding-left:0;max-width:600px;margin-left:auto;margin-right:auto}.timeline.is-centered::before{left:50%;transform:translateX(-50%)}.timeline.is-centered .timeline-item{padding-left:calc(50% + 2rem);padding-right:0}.timeline.is-centered .timeline-marker{left:calc(50% - 18px)}.timeline.is-centered .timeline-content{background:#fff;padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border-left:4px solid var(--osgeo-green)}.timeline-header{display:flex;justify-content:center;padding:var(--space-md)0;position:relative;z-index:2}.timeline-header .tag{font-weight:600}.timeline-marker.is-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none}.timeline-marker.is-icon i{color:#fff;font-size:.9rem}.timeline.is-centered .timeline-marker.is-icon{left:calc(50% - 18px)}.timeline-marker.is-info{background:var(--osgeo-blue,#3298dc)}.timeline-marker.is-warning{background:var(--osgeo-orange,#ffdd57)}.timeline-marker.is-warning i{color:#363636}.timeline-marker.is-primary{background:var(--osgeo-teal)}.timeline-item.is-success .timeline-content{border-left-color:var(--osgeo-green)}.timeline-item.is-info .timeline-content{border-left-color:var(--osgeo-blue,#3298dc)}.timeline-item.is-warning .timeline-content{border-left-color:var(--osgeo-orange,#ffdd57)}.timeline-item.is-primary .timeline-content{border-left-color:var(--osgeo-teal)}.timeline-item.is-success .heading{color:var(--osgeo-green)}.timeline-item.is-info .heading{color:var(--osgeo-blue,#3298dc)}.timeline-item.is-warning .heading{color:var(--osgeo-orange-dark,#946c00)}.timeline-item.is-primary .heading{color:var(--osgeo-teal)}.timeline-content ul{margin-top:var(--space-sm);margin-bottom:0}.timeline-content ul li{margin-bottom:var(--space-xs);color:var(--neutral-600)}.icon-text{display:flex;align-items:center;gap:.5rem}.content table{border-radius:var(--radius-md);overflow:hidden}.content table thead{background:var(--osgeo-teal)}.content table thead th{color:#fff;font-weight:600;border:none}.content table tbody tr:nth-child(even){background:rgba(0,58,64,3%)}.content table tbody td{border-color:rgba(0,58,64,.1)}.checkbox{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer}.checkbox input[type=checkbox]{margin-top:.25rem;accent-color:var(--osgeo-green)}.box{border:1px solid rgba(0,58,64,8%);box-shadow:var(--shadow-sm);transition:box-shadow .3s var(--ease-smooth),transform .3s var(--ease-smooth)}.box:hover{box-shadow:var(--shadow-md)}.icon-wrapper{display:flex;align-items:center;justify-content:center}.hero.is-medium .hero-body{padding:6rem 1.5rem}.content a:not(.button){color:var(--osgeo-green);text-decoration:underline;text-decoration-color:rgba(77,176,91,.3);text-underline-offset:2px;transition:all .2s var(--ease-smooth)}.content a:not(.button):hover{color:var(--osgeo-teal);text-decoration-color:var(--osgeo-teal)}.content-panel{position:relative;background:#fff;border-left:4px solid var(--osgeo-green);padding:var(--space-xl);margin-bottom:var(--space-lg);box-shadow:var(--shadow-md);transition:all .3s var(--ease-smooth)}.content-panel::before{content:'';position:absolute;top:0;left:-4px;width:4px;height:0;background:linear-gradient(180deg,var(--accent-cyan) 0%,var(--osgeo-green) 100%);transition:height .4s var(--ease-smooth)}.content-panel:hover{box-shadow:var(--shadow-lg);transform:translateX(4px)}.content-panel:hover::before{height:100%}.content-panel-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid rgba(0,58,64,.1)}.content-panel-icon{width:56px;height:56px;background:var(--gradient-earth);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;flex-shrink:0;transition:transform .3s var(--ease-bounce)}.content-panel:hover .content-panel-icon{transform:scale(1.1)rotate(5deg)}.content-panel-title{font-size:1.35rem;font-weight:700;color:var(--osgeo-teal);margin:0;line-height:1.3}.content-panel-subtitle{font-size:.9rem;color:#666;margin-top:.25rem}.content-panel-body{color:#444;line-height:1.7}.content-panel-body ul,.content-panel-body ol{margin-left:var(--space-md);margin-top:var(--space-sm)}.content-panel-body li{position:relative;padding-left:var(--space-sm);margin-bottom:var(--space-sm)}.content-panel-body li::marker{color:var(--osgeo-green)}.content-panel-footer{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid rgba(0,58,64,.1)}.content-panel.is-teal{border-left-color:var(--osgeo-teal)}.content-panel.is-teal .content-panel-icon{background:var(--osgeo-teal)}.content-panel.is-cyan{border-left-color:var(--accent-cyan)}.content-panel.is-cyan .content-panel-icon{background:linear-gradient(135deg,var(--osgeo-teal) 0%,var(--accent-cyan) 100%)}.content-panel.is-amber{border-left-color:var(--accent-amber)}.content-panel.is-amber .content-panel-icon{background:linear-gradient(135deg,var(--accent-coral) 0%,var(--accent-amber) 100%)}.content-panel.is-numbered{counter-increment:panel-step}.content-panel.is-numbered .content-panel-icon{background:var(--gradient-earth)}.content-panel.is-numbered .content-panel-icon::before{content:counter(panel-step);font-weight:800;font-size:1.5rem}.content-panel.is-numbered .content-panel-icon i{display:none}.content-panels-numbered{counter-reset:panel-step}.content-panel.is-compact{padding:var(--space-lg)}.content-panel.is-compact .content-panel-icon{width:44px;height:44px;font-size:1.1rem}.content-panel.is-compact .content-panel-title{font-size:1.15rem}.content-panel.is-featured{background:linear-gradient(135deg,rgba(77,176,91,5%) 0%,rgba(0,58,64,5%) 100%);border-left-width:6px;border-left-color:var(--osgeo-green)}.content-panel.is-featured::after{content:'';position:absolute;top:var(--space-md);right:var(--space-md);width:60px;height:60px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234DB05B' stroke-width='1' opacity='0.2'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E")no-repeat 50%}.content-panel.is-dark{background:var(--gradient-dark-card);border-left-color:var(--osgeo-green);color:#fff}.content-panel.is-dark .content-panel-title{color:#fff}.content-panel.is-dark .content-panel-body{color:rgba(255,255,255,.9)}.content-panel.is-dark .content-panel-icon{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2)}.content-panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg)}.content-panel-grid .content-panel{margin-bottom:0}@media screen and (max-width:768px){.content-panel{padding:var(--space-lg)}.content-panel-header{flex-direction:column;align-items:flex-start;text-align:left}.content-panel-icon{width:48px;height:48px;font-size:1.25rem}}.content-panel .checklist,.content-panel.is-checklist .content-panel-body ul{list-style:none;margin:0;padding:0}.content-panel .checklist li,.content-panel.is-checklist .content-panel-body ul li{position:relative;padding-left:2rem;padding-top:.25rem;padding-bottom:.25rem;margin-bottom:.5rem}.content-panel .checklist li::before,.content-panel.is-checklist .content-panel-body ul li::before{content:'';position:absolute;left:0;top:.4rem;width:18px;height:18px;border:2px solid var(--osgeo-green);background:#fff;transition:all .2s var(--ease-smooth)}.content-panel .checklist li::after,.content-panel.is-checklist .content-panel-body ul li::after{content:'';position:absolute;left:4px;top:.5rem;width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);opacity:0;transition:all .2s var(--ease-smooth)}.content-panel:hover .checklist li::before,.content-panel.is-checklist:hover .content-panel-body ul li::before{background:var(--osgeo-green)}.content-panel:hover .checklist li::after,.content-panel.is-checklist:hover .content-panel-body ul li::after{opacity:1}.content-panel .numbered-steps,.content-panel.is-steps .content-panel-body ol{list-style:none;counter-reset:step-counter;margin:0;padding:0}.content-panel .numbered-steps li,.content-panel.is-steps .content-panel-body ol li{position:relative;padding-left:3rem;padding-bottom:var(--space-md);margin-bottom:var(--space-md);border-bottom:1px solid rgba(0,58,64,8%);counter-increment:step-counter}.content-panel .numbered-steps li:last-child,.content-panel.is-steps .content-panel-body ol li:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.content-panel .numbered-steps li::before,.content-panel.is-steps .content-panel-body ol li::before{content:counter(step-counter);position:absolute;left:0;top:0;width:28px;height:28px;background:var(--gradient-earth);color:#fff;font-weight:700;font-size:.875rem;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease-bounce)}.content-panel:hover .numbered-steps li::before,.content-panel.is-steps:hover .content-panel-body ol li::before{transform:scale(1.1)}.page-hero-title{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.4),0 4px 12px rgba(0,0,0,.3),0 0 40px rgba(0,0,0,.2)}.page-hero-subtitle{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.3)}.page-hero-badge{background:rgba(0,0,0,.3);border:1px solid rgba(77,176,91,.5);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.page-hero-bg .hero-bg-image{opacity:.25}.page-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient( 180deg,rgba(0,30,34,.3) 0%,rgba(0,58,64,.2) 50%,rgba(0,30,34,.4) 100% );z-index:1}.page-hero-pattern{z-index:2}.page-hero-content{z-index:10}.hero-btn-primary{box-shadow:0 4px 15px rgba(0,0,0,.3)}.hero-btn-secondary{text-shadow:0 1px 2px rgba(0,0,0,.3);border-color:rgba(255,255,255,.8)}.page-hero-logo{background:rgba(255,255,255,.95);padding:1.5rem 2rem;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.2),0 8px 40px rgba(0,0,0,.15)}.page-hero-logo img{filter:none;max-width:180px}.osgeo-hero .hero-logo-container{background:rgba(255,255,255,.95);padding:2rem 2.5rem;border-radius:20px;box-shadow:0 8px 32px rgba(0,0,0,.25),0 16px 48px rgba(0,0,0,.15)}.osgeo-hero .hero-logo{filter:none!important}.osgeo-hero .logo-glow{display:none}.osgeo-hero .hero-stat-card{background:rgba(0,0,0,.3)}section.osgeo-hero .hero-stats-grid .hero-stat-card .stat-number{background:0 0!important;-webkit-background-clip:unset!important;background-clip:unset!important;-webkit-text-fill-color:#f5f5f5!important;color:#f5f5f5!important;text-shadow:0 2px 4px rgba(0,0,0,.4),0 4px 12px rgba(0,0,0,.3);font-weight:700}section.osgeo-hero .hero-stats-grid .hero-stat-card .stat-number .stat-plus{color:#d4e8d6!important;text-shadow:0 2px 4px rgba(0,0,0,.4)}.osgeo-hero .hero-stat-card .stat-label{color:#f0f0f0!important;text-shadow:0 1px 3px rgba(0,0,0,.4)}.osgeo-hero .hero-stat-card .stat-icon{color:rgba(255,255,255,.5)}.stat-number{background:0 0!important;-webkit-background-clip:unset!important;background-clip:unset!important;-webkit-text-fill-color:#ffffff!important;color:#fff!important}.hero-stat-card .stat-number{background:0 0!important;-webkit-background-clip:unset!important;background-clip:unset!important;-webkit-text-fill-color:#ffffff!important;color:#fff!important}.stat-plus{-webkit-text-fill-color:#90EE90!important;color:#90ee90!important}.hero-stat-card .stat-label{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.hero-stat-card{background:rgba(255,255,255,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.hero-stat-card .stat-icon{color:rgba(255,255,255,.4)}.experimental-ribbon{position:fixed;top:0;left:0;right:0;z-index:9999;background:linear-gradient(135deg,#FF6B6B 0%,#F59E0B 100%);color:#fff;font-size:.875rem;box-shadow:0 2px 8px rgba(0,0,0,.2)}.experimental-ribbon-content{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.5rem 1rem;max-width:1400px;margin:0 auto}.experimental-ribbon-icon{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:rgba(255,255,255,.2);border-radius:50%;flex-shrink:0}.experimental-ribbon-icon i{font-size:.875rem}.experimental-ribbon-text{text-align:center;line-height:1.4}.experimental-ribbon-text a{color:#fff;text-decoration:underline;font-weight:600}.experimental-ribbon-text a:hover{color:rgba(255,255,255,.9);text-decoration:none}.experimental-ribbon-close{background:rgba(255,255,255,.15);border:none;color:#fff;width:1.5rem;height:1.5rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .2s ease}.experimental-ribbon-close:hover{background:rgba(255,255,255,.3)}.experimental-ribbon-close i{font-size:.75rem}html.has-navbar-fixed-top{padding-top:calc(3.25rem + 2.5rem)!important}.navbar.is-fixed-top{top:2.5rem!important}@media screen and (max-width:768px){.experimental-ribbon{font-size:.75rem}.experimental-ribbon-content{padding:.375rem .5rem;gap:.5rem}.experimental-ribbon-icon{width:1.5rem;height:1.5rem}.experimental-ribbon-icon i{font-size:.75rem}.experimental-ribbon-text strong{display:block}html.has-navbar-fixed-top{padding-top:calc(3.25rem + 3rem)!important}.navbar.is-fixed-top{top:3rem!important}}