@layer base;:root{--color-primary: #323669;--color-primary-light: #ffdfcc;--color-background: #fff;--color-black: #131313}*{word-break:keep-all}body{font-family:Noto Sans SC,sans-serif;line-height:normal;color:#515151;background:var(--color-background)}.container{margin:0 auto}.content{background:#fff;padding:3rem;border-radius:0;border:1px solid #e0e0e0;margin-top:2rem}a:hover{text-decoration:underline}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.nav__container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:relative}.nav__logo{font-size:1.5rem;font-weight:700;color:#000;text-decoration:none;z-index:1001;transition:opacity .3s ease}.nav__logo:hover{opacity:.7;text-decoration:none}.nav__toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:.5rem;z-index:1001}.nav__toggle--active .nav__toggle-bar:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav__toggle--active .nav__toggle-bar:nth-child(2){opacity:0}.nav__toggle--active .nav__toggle-bar:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.nav__toggle-bar{width:25px;height:3px;background:#fff;border-radius:3px;transition:all .3s ease}.nav__list{display:flex;gap:2rem;list-style:none;margin:0;padding:0}.nav__list--desktop{display:flex;align-items:center;gap:1.5rem}.nav__list--mobile{display:none}.nav__item{margin:0}.nav__link{position:relative;color:#fff;text-decoration:none;font-weight:500;transition:color .3s ease;padding-bottom:5px;display:inline-block}.nav__link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:#fff;transition:width .3s ease}.nav__link:hover,.nav__link--active{text-decoration:none}.nav__link:hover:after,.nav__link--active:after{width:100%}.nav__overlay{display:none}.lang-selector{margin-left:1.5rem;position:relative}.lang-selector__dropdown{background-color:transparent;border:1px solid #ccc;border-radius:6px;padding:4px 2px;cursor:pointer;outline:none;transition:border-color .2s ease}.lang-selector__dropdown:hover,.lang-selector__dropdown:focus{border-color:var(--color-primary)}@media(max-width:768px){.nav__toggle{display:flex}.nav__list--desktop{display:none}.nav__list--mobile{display:flex;position:fixed;top:0;right:-100%;height:100vh;width:70%;max-width:300px;background:var(--color-primary);flex-direction:column;padding:5rem 2rem 2rem;gap:1.5rem;box-shadow:-2px 0 10px #0000001a;transition:right .3s ease;z-index:999}.nav__list--open{right:0}.nav__list--mobile .nav__link{font-size:1.125rem}.nav__overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:998}.nav__list--mobile .lang-selector{margin:1rem 0}}.nav__user{position:relative;display:flex;align-items:center}.nav__avatar{width:34px;height:34px;background:var(--color-black);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s ease;user-select:none}.nav__avatar--mobile{width:38px;height:38px;background:var(--color-black);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;margin-bottom:1rem}.nav__avatar:hover{opacity:.8}.nav__login-btn{background:var(--color-black);color:#fff;padding:.75rem;font-weight:500;border:none;cursor:pointer;text-align:center;transition:opacity .2s ease}.nav__login-btn:hover{opacity:.8;text-decoration:none}.nav__user-icon{background:none;border:none;font-size:1.3rem;cursor:pointer;color:#333;transition:color .3s ease}.nav__user-icon:hover{color:#000}.nav__user-dropdown{position:absolute;right:0;top:38px;background:#fff;border:1px solid #e0e0e0;box-shadow:0 2px 8px #00000014;padding:1rem;min-width:180px;animation:fadeIn .2s ease;display:flex;flex-direction:column;gap:.6rem;z-index:1002}.nav__user-email{font-size:.95rem;font-weight:500;color:var(--color-black);word-break:break-all}.nav__logout-btn{background:var(--color-primary-light);color:var(--color-primary);padding:.7rem;font-size:1rem;font-weight:600;border:1px solid var(--color-primary);cursor:pointer;width:100%;transition:opacity .2s ease;text-align:center}.nav__logout-btn:hover{opacity:.75}.nav__user-card{background:#fff;border:1px solid #e2e2e2;padding:1rem;display:flex;flex-direction:column;gap:.75rem;width:100%}.nav__user-info{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.nav__user-name{font-size:1rem;font-weight:600;color:var(--color-black)}.nav__user-email-text{font-size:.85rem;font-weight:400;color:#555;opacity:.85}.nav__divider{height:1px;width:100%;background:#e5e5e5;margin:6px 0}.nav__user-info-mobile{background:#fff;border:1px solid #e2e2e2;padding:1rem;display:flex;flex-direction:column;border-radius:8px;gap:3px;width:100%}.nav__user-info-mobile .nav__user-email-text{font-size:.85rem;color:#555;opacity:.85}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.filter-buttons button{padding:.5rem 1.2rem;border:1px solid #dcdfe3;border-radius:8px;background:#fff;color:#2c3e50;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-buttons button:hover{background:#f0f4f8}.filter-buttons button.active{background:#3498db;color:#fff;border-color:#3498db}.search-input{flex:1;min-width:220px;padding:.6rem 1rem;border-radius:8px;border:1px solid #dcdfe3;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.search-input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.sort-controls{display:flex;align-items:center;gap:1rem}.sort-select{padding:.5rem 2rem .5rem .5rem;border-radius:1.5rem;border:1px solid #ccc;font-size:16px;color:#fff;background-color:#fff;appearance:none;background:transparent;background-image:url("data:image/svg+xml;utf8,<svg fill='black' height='16' width='16' xmlns='http://www.w3.org/2000/svg'><path d='M4 6l4 4 4-4z'/></svg>");background-repeat:no-repeat;background-position:right .4rem center}.sort-select:focus{outline:none;border-color:#3498db}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.stroke-white{-webkit-text-stroke:1.5px white;color:transparent}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.animate-marquee{animation:marquee 25s linear infinite}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .6s ease-out forwards;opacity:0}@layer utilities{.text-body-lg{font-size:1.43rem;line-height:1.8}}@keyframes drop{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.35);opacity:1}}@keyframes ripple{0%{transform:scale(.6);opacity:.6}to{transform:scale(2.4);opacity:0}}.animate-drop{animation:drop 1.2s ease-in-out infinite}.animate-ripple{animation:ripple 1.6s ease-out infinite}.mapboxgl-popup-close-button{padding:2px;margin:4px;font-size:18px;line-height:1}.mapboxgl-popup-close-button:hover{background:#0000000f;border-radius:999px}.mapboxgl-map{touch-action:pan-x pan-y}.mapboxgl-canvas-container{overscroll-behavior:contain}html{scroll-behavior:smooth}.container{max-width:1924px;margin:0 auto}.hero{min-height:90vh;display:flex;align-items:center;justify-content:center;background:#000;text-align:center;padding:2rem;color:#fff}.hero__content{width:100%}.hero__title{font-size:3.5rem;margin-bottom:1rem;animation:fadeInUp 1s ease;font-weight:700;letter-spacing:-.02em;color:#fff}.hero__tagline{font-size:1.5rem;margin-bottom:2rem;opacity:.8;animation:fadeInUp 1s ease .2s backwards;font-weight:300;color:#fff}.button{display:inline-block;padding:1rem 2.5rem;background:#fff;color:#000;text-decoration:none;border-radius:0;font-weight:600;transition:transform .3s ease,box-shadow .3s ease;animation:fadeInUp 1s ease .4s backwards;border:2px solid white}.button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #ffffff4d}.section{scroll-margin-top:60px;position:relative}.section--alt{background:#f5f5f5}.section__title{font-size:2.5rem;text-align:center;margin-bottom:1rem;color:#000;font-weight:700;letter-spacing:-.02em}.section__description{font-size:1.2rem;text-align:center;color:#666;max-width:800px;margin:0 auto 3rem;line-height:1.8}.card{background:#fff;padding:2rem;border-radius:0;border:1px solid #e0e0e0;transition:all .3s ease}.card:hover{transform:translateY(-5px);border-color:#000;box-shadow:0 10px 30px #0000001a}.card__icon{font-size:3rem;margin-bottom:1rem;color:#000}.card__title{color:#000;margin-bottom:.5rem;font-weight:600}.card__text{color:#666}.card__link{color:#000;text-decoration:none;border-bottom:1px solid #000;transition:opacity .3s ease}.card__link:hover{opacity:.7}.card__image{width:100%;height:150px;object-fit:cover;border-radius:0;margin-bottom:1rem;filter:grayscale(100%);transition:filter .3s ease}.card--feature{text-align:center}.card--mv{padding:2.5rem;border-left:4px solid #000}.card--mv .card__title{font-size:1.5rem;margin-bottom:1rem}.card--partner{text-decoration:none;color:inherit;text-align:center}.card--partner:hover .card__image{filter:grayscale(0%)}.card--contact{text-align:center}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.mission-vision{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.focus-list{max-width:800px;margin:3rem auto 0;list-style:none;padding:0}.focus-list__item{background:#fff;padding:1.5rem;margin-bottom:1rem;border-radius:0;border:1px solid #e0e0e0;border-left:4px solid #000}.focus-list__label{color:#000}.partners{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem;margin-top:3rem}.partners__more{display:flex;justify-content:center;margin-top:3rem}.contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.footer{background:#000;color:#fff;text-align:center;padding:2rem}.footer__text{margin:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes headingAnimation{0%{transform:translateY(120%)}to{transform:translateY(0)}}@media(max-width:768px){.hero__title{font-size:2.5rem}.hero__tagline{font-size:1.2rem}.section__title{font-size:2rem}}
