.resort-card-link-wrapper{text-decoration:none;color:inherit;display:block;height:100%}.resort-card{background:#fffffff2;border-radius:16px;overflow:hidden;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;height:100%;cursor:pointer}.resort-card-link-wrapper:hover .resort-card{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.resort-card-image{width:100%;height:200px;overflow:hidden;background:#d3d3d3;display:flex;align-items:center;justify-content:center;position:relative}.resort-card-image-error{background:#d3d3d3}.resort-card-image img{width:100%;height:100%;object-fit:cover;position:relative;z-index:2}.resort-card-image-shimmer{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#fff0,#fff6,#fff0);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;z-index:1}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.resort-card-content{padding:1rem;display:flex;flex-direction:column;flex:1}.resort-card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.resort-card-title{font-size:1.5rem;font-weight:700;color:#2d3748;margin-bottom:.5rem;line-height:1.3}.resort-card-region,.resort-card-location{display:flex;align-items:center;gap:.5rem;color:#858585;margin-bottom:0;font-size:.95rem}.resort-card-arrow{width:1.25rem;height:1.25rem;flex-shrink:0;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23858585' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 6 15 12 9 18'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center;background-size:contain;transition:transform .2s ease,background-image .2s ease}.resort-card-link-wrapper:hover .resort-card-arrow{transform:translate(4px);background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CCCE48' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 6 15 12 9 18'%3e%3c/polyline%3e%3c/svg%3e")}.resort-card-region .region-icon,.resort-card-location .location-icon,.region-icon,.location-icon{width:18px;height:18px;flex-shrink:0;color:#858585}.arrow-icon{width:16px;height:16px;display:inline-block;vertical-align:middle;margin-left:.25rem;transition:transform .2s ease}.resort-card-link-wrapper:hover .arrow-icon{transform:translate(2px)}.resort-card-footer{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.resort-card-buttons{display:flex;gap:.75rem;margin-top:1rem}.resort-card-button{flex:1;padding:.75rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center;background:#f7fafc;color:#2d3748;border:2px solid transparent}.resort-card-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.resort-card-button-website{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.resort-card-button-website:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 4px 12px #667eea66}.resort-card-button-pricing{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.resort-card-button-pricing:hover{background:linear-gradient(135deg,#f5576c,#f093fb);box-shadow:0 4px 12px #f5576c66}.resort-card-link{display:inline-block;color:#667eea;text-decoration:none;font-weight:600;transition:color .2s ease}.resort-card-link-wrapper:hover .resort-card-link{color:#764ba2}@media (max-width: 768px){.resort-card-buttons{flex-direction:column;gap:.5rem}.resort-card-button{padding:.625rem .875rem;font-size:.875rem}}.search-bar{flex:0 1 auto}.search-bar-input-wrapper{position:relative;display:flex;align-items:center;width:2.75rem;height:2.75rem;border-radius:50%;background:#fffffff2;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:width .3s ease,height .3s ease,border-radius .3s ease,box-shadow .3s ease;overflow:hidden}.search-bar-input-wrapper.expanded{width:250px;height:2.75rem;border-radius:12px;box-shadow:0 4px 12px #00000026}.search-icon{position:absolute;left:50%;transform:translate(-50%);width:24px;height:24px;z-index:2;color:#718096;pointer-events:none;transition:left .3s ease,transform .3s ease;flex-shrink:0}.search-bar-input-wrapper.expanded .search-icon{left:1rem;transform:translate(0)}.search-bar-input{width:0;padding:0;border:none;border-radius:12px;font-size:1rem;background:transparent;opacity:0;transition:width .3s ease,padding .3s ease,opacity .3s ease;cursor:pointer;height:100%}.search-bar-input-wrapper.expanded .search-bar-input{width:100%;padding:0 3rem;opacity:1;cursor:text}.search-bar-input:focus{outline:none}.search-bar-input::placeholder{color:#a0aec0}.search-bar-clear{position:absolute;right:.75rem;background:none;border:none;font-size:1.2rem;color:#718096;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s ease;z-index:2}.search-bar-clear:hover{color:#2d3748}@media (max-width: 768px){.search-bar-input-wrapper.expanded{width:calc(100vw - 2rem);max-width:250px}}.region-filter{display:flex;align-items:center;gap:.75rem;min-width:200px}.region-filter-label{color:#fffffff2;font-weight:500;white-space:nowrap}.region-filter-measure{position:absolute;visibility:hidden;height:auto;width:auto;white-space:nowrap;pointer-events:none}.region-filter-select{width:auto;min-width:150px;padding:.875rem 4rem .875rem 1rem;border:none;border-radius:12px;font-size:1rem;background:#fffffff2;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:box-shadow .2s ease,width .2s ease;color:#2d3748;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d3748' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%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;background-size:1.25rem}.region-filter-select:focus{outline:none;box-shadow:0 4px 12px #00000026}.region-filter-clear{padding:.875rem 1rem;background:#333f47;border:none;border-radius:12px;font-size:.9rem;font-weight:500;color:#fff;cursor:pointer;transition:background .2s ease;white-space:nowrap}.region-filter-clear:hover{background:#2a3239}@media (max-width: 768px){.region-filter{width:100%}}.yandex-map-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem}.yandex-map-container{background:#fff;border-radius:16px;width:100%;max-width:1400px;height:90vh;max-height:900px;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d;overflow:hidden;position:relative}.yandex-map-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0;background:#fff}.yandex-map-header h2{font-size:1.5rem;font-weight:700;color:#2d3748;margin:0}.yandex-map-close{background:none;border:none;font-size:1.5rem;color:#718096;cursor:pointer;padding:.5rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s ease,color .2s ease}.yandex-map-close:hover{background:#f7fafc;color:#2d3748}.yandex-map{flex:1;width:100%;min-height:0}.yandex-map-footer{padding:1rem 2rem;border-top:1px solid #e2e8f0;background:#fff}.yandex-map-footer p{margin:0;color:#4a5568;font-size:.9rem}.yandex-map-resort-info{display:flex;gap:.75rem;padding:1rem 1.25rem;background:#fff;position:absolute;bottom:3rem;left:1rem;right:1rem;max-height:140px;border-radius:12px;box-shadow:0 4px 12px #0000001a;animation:slideUpFade .3s ease-out;z-index:100}.resort-info-close{position:absolute;top:.5rem;right:.5rem;background:none;border:none;font-size:1rem;color:#718096;cursor:pointer;padding:.25rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .2s ease,color .2s ease;z-index:1}.resort-info-close:hover{background:#f7fafc;color:#2d3748}.resort-info-photo{flex-shrink:0;width:80px;height:80px;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2)}.resort-info-photo img{width:100%;height:100%;object-fit:cover}.resort-info-content{flex:1;display:flex;flex-direction:column;gap:.5rem;min-width:0}.resort-info-name{font-size:1.1rem;font-weight:700;color:#2d3748;margin:0;line-height:1.3}.resort-info-region{display:flex;align-items:center;gap:.5rem;color:#4a5568;font-size:.9rem;margin:0}.resort-info-icon{width:18px;height:18px;flex-shrink:0;color:#4a5568}.resort-info-link{display:inline-flex;align-items:center;gap:.5rem;color:#333f47;text-decoration:none;font-weight:600;margin-top:auto;align-self:flex-start;transition:color .2s ease}.resort-info-link:hover{color:#2a3239}.resort-info-link .arrow-icon{width:16px;height:16px;transition:transform .2s ease}.resort-info-link:hover .arrow-icon{transform:translate(2px)}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.yandex-map-resort-info{padding:.75rem 1rem;max-height:120px;bottom:2rem;left:.75rem;right:.75rem;gap:.5rem}.resort-info-photo{width:60px;height:60px}.resort-info-name{font-size:1rem}.resort-info-region{font-size:.85rem}}.map-balloon-link{color:#333f47;text-decoration:none;font-weight:600;transition:color .2s ease}.map-balloon-link:hover{color:#2a3239;text-decoration:underline}@media (max-width: 768px){.yandex-map-overlay{padding:0}.yandex-map-container{height:100vh;max-height:100vh;border-radius:0}.yandex-map-header{padding:1rem}.yandex-map-header h2{font-size:1.25rem}.yandex-map-footer{padding:.75rem 1rem}}.loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#2d3748}.loader-spinner{border-radius:50%;animation:loader-spin 1s linear infinite;margin-bottom:1rem;border:4px solid rgba(204,206,72,.3);border-top-color:#ccce48}.loader-spinner-small{width:30px;height:30px;border-width:3px}.loader-spinner-medium{width:50px;height:50px;border-width:4px}.loader-spinner-large{width:70px;height:70px;border-width:5px}@keyframes loader-spin{to{transform:rotate(360deg)}}.loader-message{margin:0;font-size:1rem;color:#2d3748}.error-display{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;min-height:400px}.error-display-image{max-width:300px;width:100%;height:auto;margin-bottom:2rem;opacity:.9}.error-display-message{margin:0 0 2rem;text-align:center;font-size:1.5rem;font-weight:600;color:#000}.error-display-retry-button{padding:.875rem 2rem;background:#333f47;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease}.error-display-retry-button:hover{background:#2a3239;transform:translateY(-2px)}@media (max-width: 768px){.error-display{padding:2rem 1rem;min-height:300px}.error-display-image{max-width:200px;margin-bottom:1.5rem}.error-display-message{font-size:1.2rem}.error-display-retry-button{padding:.75rem 1.5rem;font-size:.9rem}}.resorts-page{width:100%}.resorts-page-header{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:flex-start;justify-content:space-between}.resorts-page-controls{display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap}.resorts-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.resorts-count{font-size:1.1rem;color:#2d3748;font-weight:500}.show-map-button{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:#333f47;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:400;cursor:pointer;transition:background .2s ease,transform .2s ease}.show-map-button:hover:not(:disabled){background:#2a3239;transform:translateY(-2px)}.show-map-button:disabled{opacity:.5;cursor:not-allowed}.map-button-icon{width:20px;height:20px}.resorts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-bottom:2rem}.error-message{background:#fffffff2;padding:2rem;border-radius:12px;text-align:center;color:#e53e3e;margin:2rem 0}.error-hint{margin-top:.5rem;font-size:.9rem;color:#718096}.no-results{background:#fffffff2;padding:3rem;border-radius:12px;text-align:center;color:#4a5568;font-size:1.1rem}.load-more-trigger{min-height:100px;display:flex;align-items:center;justify-content:center;margin-top:2rem}.loading-more{width:100%;display:flex;justify-content:center;align-items:center;padding:2rem}@media (max-width: 768px){.resorts-grid{grid-template-columns:1fr}.resorts-page-header{flex-direction:column}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .2s ease-out}.modal-container{background:#fff;border-radius:16px;width:100%;max-width:1200px;max-height:95vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d;overflow:hidden;position:relative;animation:slideUp .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid #e2e8f0;background:#fff;position:sticky;top:0;z-index:10;border-radius:16px 16px 0 0}.modal-title{font-size:1.25rem;font-weight:700;color:#2d3748;margin:0}.modal-close{background:none;border:none;color:#718096;cursor:pointer;padding:.5rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s ease,color .2s ease;flex-shrink:0}.modal-close:hover{background:#f7fafc;color:#2d3748}.modal-content{flex:1;min-height:0;padding:2rem;overflow-y:auto;box-sizing:border-box;display:flex;align-items:flex-start;justify-content:flex-start}@media (max-width: 768px){.modal-overlay{padding:.5rem;align-items:center}.modal-container{max-height:98vh;border-radius:16px;margin-top:0}.modal-header{padding:1rem 1.5rem}.modal-title{font-size:1.125rem}.modal-content{padding:1rem;align-items:flex-start;justify-content:flex-start}}.weather-display{width:100%}.weather-display .loader{min-height:150px}.weather-display-header{display:flex;align-items:center;padding-bottom:0rem;margin-top:.75rem;margin-bottom:1.5rem;border-bottom:2px solid #F5F5F5}.weather-display-title{font-size:1.5rem;font-weight:700;color:#2d3748;margin:0;padding:0;line-height:0;display:block;flex:1;border-bottom:none!important;padding-bottom:0!important}@media (max-width: 480px){.weather-display-title{position:relative;visibility:hidden}.weather-display-title:before{content:"Погода";font-size:1.5rem;font-weight:700;color:#2d3748;line-height:0;display:block;position:absolute;left:0;top:0;visibility:visible}}.weather-details-button{background:none;border:none;padding:0;color:#858585;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;z-index:1;display:flex;align-items:center;gap:.5rem;margin-top:-.5rem;align-self:flex-start;outline:none}.weather-details-button:focus{outline:none}.weather-details-button:focus-visible{outline:none}.weather-details-button:hover{color:#ccce48;background:none!important;border:none!important;box-shadow:none!important}.weather-details-button:active{background:none!important;border:none!important;box-shadow:none!important}.weather-details-arrow{width:1.25rem;height:1.25rem;flex-shrink:0;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23858585' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 6 15 12 9 18'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center;background-size:contain;transition:transform .2s ease,background-image .2s ease}.weather-details-button:hover .weather-details-arrow{transform:translate(4px);background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CCCE48' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 6 15 12 9 18'%3e%3c/polyline%3e%3c/svg%3e")}.weather-details-button:hover{background:#e2e8f0;border-color:#cbd5e0;transform:translateY(-1px)}.weather-widget{display:grid;grid-template-columns:1fr;gap:1rem;align-items:stretch;min-height:150px}.weather-today{background:#f7fafc;border-radius:12px;padding:1rem;color:#2d3748;width:100%;display:flex;flex-direction:column;justify-content:space-between;min-height:150px}.weather-details-button:active{transform:translateY(0)}.weather-today-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.weather-icon{width:48px;height:48px;object-fit:contain;flex-shrink:0}.weather-temp{flex:1}.weather-temp-value{font-size:1.75rem;font-weight:700;line-height:1}.weather-temp-range{font-size:.85rem;color:#718096;margin-top:.25rem}.weather-description{font-size:.85rem;margin-bottom:.75rem;text-transform:capitalize;color:#4a5568}.weather-wind{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#718096}.weather-wind-icon{width:16px;height:16px;flex-shrink:0}.weather-forecast-wrapper{display:flex;flex-direction:column;min-width:0;overflow:hidden;height:100%;align-self:stretch}.weather-forecast{display:flex;gap:.5rem;align-items:stretch;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent;-webkit-overflow-scrolling:touch;padding-bottom:.25rem;height:100%}.weather-forecast::-webkit-scrollbar{height:6px}.weather-forecast::-webkit-scrollbar-track{background:transparent}.weather-forecast::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.weather-forecast-item{background:#f7fafc;border-radius:10px;padding:.5rem .625rem;text-align:center;min-width:80px;flex:0 0 auto;display:flex;flex-direction:column;justify-content:space-between;align-items:center;transition:transform .2s ease,box-shadow .2s ease;height:100%;min-height:120px}.weather-forecast-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.forecast-date{font-size:.75rem;font-weight:600;color:#4a5568;margin-bottom:.25rem;text-transform:capitalize;white-space:nowrap}.forecast-icon{width:32px;height:32px;margin:.125rem 0;object-fit:contain}.forecast-temp{display:flex;flex-direction:column;gap:.15rem;margin-top:.25rem}.forecast-temp-max{font-size:.95rem;font-weight:700;color:#2d3748}.forecast-temp-min{font-size:.8rem;color:#718096}@media (min-width: 640px){.weather-widget{grid-template-columns:240px 1fr;gap:1rem}.weather-today{min-height:150px}.weather-icon{width:52px;height:52px}.weather-temp-value{font-size:2rem}.weather-temp-range,.weather-description,.weather-wind{font-size:.9rem}.weather-forecast{gap:.75rem}.weather-forecast-item{min-width:90px;height:100%;min-height:130px}.forecast-date{font-size:.8rem}.forecast-icon{width:36px;height:36px}.forecast-temp-max{font-size:1rem}.forecast-temp-min{font-size:.85rem}}@media (min-width: 1024px){.weather-widget{grid-template-columns:280px 1fr;gap:1rem}.weather-today{padding:1rem}.weather-icon{width:56px;height:56px}.weather-temp-value{font-size:2.25rem}.weather-temp-range,.weather-description,.weather-wind{font-size:.9rem}.weather-forecast{gap:.75rem;overflow-x:visible}.weather-forecast-item{min-width:90px;max-width:120px;flex:1 1 0;height:100%}.forecast-date{font-size:.85rem}.forecast-icon{width:40px;height:40px}.forecast-temp-max{font-size:1.05rem}.forecast-temp-min{font-size:.9rem}}.weather-modal-body{padding:0;display:block;align-items:stretch;justify-content:flex-start;width:100%}.weather-detail-section{margin-bottom:1.5rem}.weather-detail-section:last-child{margin-bottom:0}.weather-detail-section-title{font-size:1.125rem;font-weight:600;color:#2d3748;margin:0 0 .5rem}.weather-detail-current{background:#f7fafc;border-radius:12px;padding:1.5rem;color:#2d3748}.weather-detail-current-main{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.weather-detail-icon-large{width:80px;height:80px;object-fit:contain;flex-shrink:0}.weather-detail-temp-main{flex:1}.weather-detail-temp-value{font-size:3rem;font-weight:700;line-height:1;margin-bottom:.5rem}.weather-detail-description{font-size:1.125rem;text-transform:capitalize;color:#4a5568}.weather-detail-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.weather-detail-info-item{display:flex;flex-direction:column;gap:.25rem}.weather-detail-info-label{font-size:.75rem;color:#718096;text-transform:uppercase;letter-spacing:.5px}.weather-detail-info-value{font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.weather-wind-icon-small{width:14px;height:14px;flex-shrink:0}.weather-detail-forecast-list{display:flex;flex-direction:column;gap:.75rem}.weather-detail-forecast-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f7fafc;border-radius:10px}.weather-detail-forecast-item:hover{background:#f7fafc;transform:none}.weather-detail-forecast-date{font-size:.9rem;font-weight:600;color:#4a5568;min-width:120px;text-transform:capitalize}.weather-detail-forecast-icon{width:40px;height:40px;object-fit:contain;flex-shrink:0}.weather-detail-forecast-temps{display:flex;align-items:center;gap:.75rem;margin-left:auto}.weather-detail-forecast-temp-max{font-size:1.125rem;font-weight:700;color:#2d3748}.weather-detail-forecast-temp-min{font-size:1rem;color:#718096}.weather-detail-forecast-temps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-left:auto;min-width:280px}.weather-detail-forecast-temp-time{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;background:#ffffff80;border-radius:8px}.weather-detail-forecast-temp-label{font-size:.7rem;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.5px}.weather-detail-forecast-temp-value{font-size:1rem;font-weight:700;color:#2d3748}@media (max-width: 640px){.weather-modal-body{padding-top:.5rem}.weather-detail-section:first-child{margin-top:0}.weather-detail-current{padding:1rem}.weather-detail-icon-large{width:64px;height:64px}.weather-detail-temp-value{font-size:2.25rem}.weather-detail-info-grid{grid-template-columns:1fr}.weather-detail-forecast-item{flex-wrap:wrap;padding:.75rem}.weather-detail-forecast-date{min-width:auto;width:auto;flex-shrink:0}.weather-detail-forecast-icon{flex-shrink:0;margin:0}.weather-detail-forecast-temps{margin-left:auto;flex-basis:100%;margin-top:.5rem}.weather-detail-forecast-temps-grid{grid-template-columns:repeat(2,1fr);margin-left:0;min-width:100%;width:100%;margin-top:.5rem;flex-basis:100%}.weather-detail-forecast-temp-time{padding:.375rem}.weather-detail-forecast-temp-label{font-size:.65rem}.weather-detail-forecast-temp-value{font-size:.9rem}}.photo-slider{position:relative;width:100%;height:100%;border-radius:12px;overflow:hidden;background:#f7fafc}.photo-slider-container{position:relative;width:100%;height:100%}.photo-slider-image-wrapper{position:relative;width:100%;height:100%;overflow:hidden}.photo-slider-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity .5s ease-in-out;pointer-events:none}.photo-slider-slide.active{opacity:1;pointer-events:auto;z-index:1}.photo-slider-slide img{width:100%;height:100%;object-fit:cover;display:block}.photo-slider-button{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff80;border:none;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.photo-slider-button:hover{background:#fffc;box-shadow:0 4px 12px #0003;transform:translateY(-50%) scale(1.1)}.photo-slider-button:active{transform:translateY(-50%) scale(.95)}.photo-slider-button-prev{left:16px}.photo-slider-button-next{right:16px}.photo-slider-arrow{width:24px;height:24px;color:#2d3748}.photo-slider-arrow-left{transform:rotate(180deg)}.photo-slider-dots{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:10;padding:8px 16px;background:#0006;border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.photo-slider-dot{width:8px;height:8px;border-radius:50%;border:none;background:#ffffff80;cursor:pointer;transition:all .3s ease;padding:0}.photo-slider-dot:hover{background:#fffc;transform:scale(1.2)}.photo-slider-dot.active{background:#fff;width:24px;border-radius:4px}.photo-slider-counter{position:absolute;top:16px;right:16px;background:#0009;color:#fff;padding:6px 12px;border-radius:20px;font-size:.875rem;font-weight:500;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.photo-slider-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:9999;display:flex;align-items:center;justify-content:center;cursor:pointer;animation:fadeIn .3s ease}.photo-slider-fullscreen-close{position:absolute;top:20px;right:20px;background:#fff3;border:none;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10000;transition:all .3s ease;color:#fff}.photo-slider-fullscreen-close:hover{background:#ffffff4d;transform:scale(1.1)}.photo-slider-fullscreen-close svg{width:24px;height:24px}.photo-slider-zoom-controls{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;background:#0009;padding:.5rem 1rem;border-radius:24px;z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.photo-slider-zoom-button{background:#fff3;color:#fff;border:none;border-radius:8px;width:36px;height:36px;font-size:1.5rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-user-select:none;user-select:none}.photo-slider-zoom-button:hover:not(:disabled){background:#ffffff4d;transform:scale(1.05)}.photo-slider-zoom-button:disabled{background:#ffffff1a;cursor:not-allowed;opacity:.5}.photo-slider-zoom-level{font-size:1rem;font-weight:600;color:#fff;min-width:60px;text-align:center}.photo-slider-zoom-reset{background:#667eeacc;color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-left:.5rem}.photo-slider-zoom-reset:hover{background:#667eea;transform:translateY(-1px)}.photo-slider-fullscreen-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;cursor:default;padding:60px 80px}.photo-slider-fullscreen-image-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.photo-slider-fullscreen-image-wrapper img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #00000080;-webkit-user-select:none;user-select:none}.photo-slider-fullscreen-button{position:absolute;top:50%;transform:translateY(-50%);background:#fff3;border:none;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10000;transition:all .3s ease;color:#fff}.photo-slider-fullscreen-button:hover{background:#ffffff4d;transform:translateY(-50%) scale(1.1)}.photo-slider-fullscreen-button:active{transform:translateY(-50%) scale(.95)}.photo-slider-fullscreen-button-prev{left:20px}.photo-slider-fullscreen-button-next{right:20px}.photo-slider-fullscreen-button .photo-slider-arrow{color:#fff}.photo-slider-fullscreen-dots{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:10000;padding:12px 20px;background:#00000080;border-radius:24px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.photo-slider-fullscreen-dots .photo-slider-dot{background:#ffffff80}.photo-slider-fullscreen-dots .photo-slider-dot:hover{background:#fffc}.photo-slider-fullscreen-dots .photo-slider-dot.active{background:#fff}.photo-slider-fullscreen-counter{position:absolute;top:20px;left:20px;background:#0009;color:#fff;padding:8px 16px;border-radius:24px;font-size:1rem;font-weight:500;z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media (max-width: 768px){.photo-slider-button{width:40px;height:40px}.photo-slider-arrow{width:20px;height:20px}.photo-slider-button-prev{left:8px}.photo-slider-button-next{right:8px}.photo-slider-dots{bottom:8px;padding:6px 12px}.photo-slider-counter{top:8px;right:8px;padding:4px 10px;font-size:.75rem}.photo-slider-fullscreen-container{padding:40px 20px}.photo-slider-fullscreen-button{width:44px;height:44px}.photo-slider-fullscreen-button-prev{left:10px}.photo-slider-fullscreen-button-next{right:10px}.photo-slider-fullscreen-close{top:10px;right:10px;width:40px;height:40px}.photo-slider-fullscreen-dots{bottom:20px;padding:10px 16px}.photo-slider-fullscreen-counter{top:10px;left:10px;padding:6px 12px;font-size:.875rem}.photo-slider-zoom-controls{top:10px;padding:.375rem .75rem;gap:.5rem}.photo-slider-zoom-button{width:32px;height:32px;font-size:1.25rem}.photo-slider-zoom-level{font-size:.875rem;min-width:50px}.photo-slider-zoom-reset{padding:.375rem .75rem;font-size:.8rem;margin-left:.25rem}.photo-slider-fullscreen-image-wrapper{width:auto;height:auto;max-width:90vw;max-height:100%;flex-shrink:0}.photo-slider-fullscreen-image-wrapper img{width:auto;max-width:90vw;height:auto;max-height:90vh;object-fit:contain}}.resort-map-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.resort-map-modal-container{background:#fff;border-radius:16px;width:100%;max-width:1200px;height:80vh;max-height:800px;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d;overflow:hidden;position:relative;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.resort-map-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0;background:#fff;flex-shrink:0}.resort-map-modal-title{font-size:1.5rem;font-weight:700;color:#2d3748;margin:0}.resort-map-modal-close{background:none;border:none;color:#718096;cursor:pointer;padding:.5rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s ease,color .2s ease;flex-shrink:0}.resort-map-modal-close:hover{background:#f7fafc;color:#2d3748}.resort-map-modal-map{flex:1;width:100%;min-height:0}@media (max-width: 768px){.resort-map-modal-overlay{padding:.5rem}.resort-map-modal-container{max-height:90vh;height:90vh}.resort-map-modal-header{padding:1rem 1.5rem}.resort-map-modal-title{font-size:1.25rem}}.webcamera-stream{position:relative;width:100%;max-width:100%;aspect-ratio:16 / 9;max-height:calc(95vh - 160px);border-radius:12px;overflow:hidden;background:#000;box-shadow:0 4px 12px #00000026;margin:0 auto}@supports not (aspect-ratio: 16 / 9){.webcamera-stream{height:0;padding-bottom:56.25%;aspect-ratio:auto}}.webcamera-stream iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;display:block}.resort-detail-page{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:2rem;color:#000!important;text-decoration:none;font-weight:500;transition:color .2s ease}.back-link:hover{color:#000!important}.back-arrow{width:20px;height:20px;transform:rotate(180deg);color:#000}.resort-detail-header{display:flex;gap:2rem;margin-bottom:2rem;background:#fffffff2;padding:2rem;border-radius:16px;box-shadow:0 4px 6px #0000001a;align-items:stretch}.resort-hero-image{flex:2;min-width:0;height:400px;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a;background:#f7fafc}.resort-hero-image img{width:100%;height:100%;object-fit:cover;display:block}.resort-detail-title-section{flex:1;min-width:0;max-width:400px;display:flex;flex-direction:column}.resort-detail-title{font-size:2.5rem;font-weight:700;color:#2d3748;margin-bottom:1rem}.resort-detail-region,.resort-detail-location{display:flex;align-items:center;gap:.5rem;color:#4a5568;margin-bottom:.5rem;font-size:1.1rem}.region-icon,.location-icon{width:20px;height:20px;flex-shrink:0;color:#4a5568}.resort-detail-header-buttons{display:flex;gap:1rem;margin-top:auto;padding-top:1.5rem;flex-wrap:wrap;align-items:flex-end}.resort-detail-header-button{padding:.875rem 1.5rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center;color:#fff;flex:1;min-width:160px}.resort-detail-header-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.resort-detail-header-button-website{background:linear-gradient(135deg,#667eea,#764ba2)}.resort-detail-header-button-website:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 20px #667eea66}.resort-detail-header-button-pricing{background:linear-gradient(135deg,#f093fb,#f5576c)}.resort-detail-header-button-pricing:hover{background:linear-gradient(135deg,#f5576c,#f093fb);box-shadow:0 6px 20px #f5576c66}.resort-detail-header-button-map{background:linear-gradient(135deg,#333f47,#2a3239);display:flex;align-items:center;justify-content:center;gap:.5rem;flex:none;width:auto;min-width:auto;padding:.875rem 1.25rem}.resort-detail-header-button-map:hover{background:linear-gradient(135deg,#2a3239,#333f47);box-shadow:0 6px 20px #333f4766}.map-button-icon{width:20px;height:20px;flex-shrink:0}@media (max-width: 768px){.resort-detail-header-buttons{flex-direction:column;gap:.75rem;margin-top:1rem;align-items:stretch}.resort-detail-header-button{width:100%;min-width:unset;padding:.75rem 1.25rem;font-size:.95rem}.resort-detail-header-button-map{width:auto;align-self:flex-start}}.resort-detail-section{background:#fffffff2;padding:1.25rem 2rem 2rem;border-radius:16px;margin-bottom:2rem;box-shadow:0 4px 6px #0000001a}.yandex-travel-widget-section{padding:.25rem 1rem .5rem}.yandex-travel-widget-section #travelWidget{margin:0;padding:0}.yandex-travel-widget-section #travelWidget>*{margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}.yandex-travel-widget-section #travelWidget>*>*{margin-top:.25rem!important;margin-bottom:.25rem!important}.yandex-travel-widget-section #travelWidget>*>*:first-child{margin-top:0!important}.yandex-travel-widget-section #travelWidget>*>*:last-child{margin-bottom:0!important}.resort-detail-section h2{font-size:1.5rem;font-weight:700;color:#2d3748;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.resort-description{font-size:1.1rem;line-height:1.7;color:#4a5568}.resort-characteristics{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.characteristic-group h3{font-size:1.25rem;font-weight:600;color:#2d3748;margin-bottom:1rem}.characteristic-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #e2e8f0}.characteristic-item:last-child{border-bottom:none}.characteristic-label{color:#718096;font-weight:500;display:flex;align-items:center;gap:.5rem}.characteristic-icon{width:20px;height:20px;flex-shrink:0;display:block}.slope-color-indicator{width:12px;height:12px;border-radius:50%;display:inline-block;flex-shrink:0;margin-right:.5rem}.slope-color-green{background-color:#4ade80}.slope-color-blue{background-color:#3b82f6}.slope-color-red{background-color:#ef4444}.slope-color-black{background-color:#1f2937}.characteristic-value{color:#2d3748;font-weight:600}.slopes-features{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.feature-badge{background:#667eea;color:#fff;padding:.5rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500}.resort-links{display:flex;flex-wrap:wrap;gap:1rem}.resort-link{display:inline-block;padding:.875rem 1.5rem;background:#333f47;color:#fff;text-decoration:none;border-radius:12px;font-weight:600;transition:background .2s ease,transform .2s ease}.resort-link:hover{background:#2a3239;transform:translateY(-2px)}.resort-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.resort-photo{border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.resort-photo img{width:100%;height:250px;object-fit:cover;display:block}.resort-slope-map-container{width:100%;height:350px;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.resort-webcameras-section{background:#fffffff2;box-shadow:0 4px 6px #0000001a;padding:1.25rem 2rem 2rem}.resort-webcameras-title{font-size:1.5rem;font-weight:700;color:#2d3748;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #F5F5F5}.resort-webcameras{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.webcamera-item{background:#fff;padding:1.5rem;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #00000014;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.webcamera-item:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026;border-color:#ccce48}.webcamera-item:active{transform:translateY(-2px)}.webcamera-item-title{font-size:1.2rem;font-weight:600;color:#2d3748;margin:0;padding:0}.error-message{background:#fffffff2;padding:2rem;border-radius:12px;text-align:center;color:#e53e3e}.back-button{margin-top:1rem;padding:.875rem 1.5rem;background:transparent;color:#000;border:1px solid #000;border-radius:12px;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}.back-button:hover{background:#000;color:#fff}@media (max-width: 768px){.resort-detail-header{flex-direction:column;padding:1.5rem;gap:1.5rem}.resort-hero-image{flex:none;width:100%;height:250px}.resort-detail-title-section{max-width:100%}.resort-detail-title{font-size:1.75rem}.resort-characteristics,.resort-photos,.resort-webcameras{grid-template-columns:1fr}.resort-webcameras-title{font-size:1.25rem}}.resort-slope-map-container .photo-slider-slide img{object-fit:contain}.app-page{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.app-page-content{padding:3rem}.app-page h1{font-size:2.5rem;font-weight:700;color:#2d3748;margin-bottom:2rem}.app-page-content h2{font-size:1.75rem;font-weight:700;color:#2d3748;margin-bottom:1rem;text-align:center}.app-download-title{font-size:1.75rem;font-weight:700;color:#2d3748;margin-bottom:1.5rem;margin-top:2rem;text-align:center}.app-store-buttons{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.app-store-button{display:inline-block;transition:transform .2s ease,opacity .2s ease}.app-store-button:hover{transform:scale(1.05);opacity:.9}.app-store-button img{height:50px;width:auto}.app-description{font-size:1.1rem;line-height:1.7;color:#4a5568;margin-bottom:2rem;text-align:center}.app-features{display:flex;flex-direction:column;gap:0;margin-bottom:2rem;background:#fffffff2;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:3rem}.app-feature{display:flex;flex-direction:row;align-items:center;gap:0rem;padding-top:16rem;padding-bottom:2rem}.app-feature:first-child{padding-top:0}.app-feature:not(:first-child){border-top:1px solid #e2e8f0;padding-top:2rem}.app-feature-content{flex:1;height:400px;display:flex;flex-direction:column;justify-content:center;padding:2rem}.app-feature h3{font-size:1.5rem;font-weight:700;color:#2d3748;margin-bottom:1rem;line-height:1.3;letter-spacing:-.02em}.app-feature p{color:#4a5568;line-height:1.8;font-size:1.05rem;max-width:500px}.app-feature-image{flex:1;text-align:center;max-width:600px}.app-feature-image img{max-width:100%;width:550px;height:400px;object-fit:contain;border-radius:12px}.app-download{margin-top:3rem;padding-top:2rem;border-top:2px solid #e2e8f0}.app-download h3{font-size:1.5rem;font-weight:700;color:#2d3748;margin-bottom:1.5rem}.app-badges{display:flex;gap:1.5rem;flex-wrap:wrap}.app-badge{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#333f47;color:#fff;text-decoration:none;border-radius:12px;transition:transform .2s ease,box-shadow .2s ease;min-width:200px}.app-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px #333f474d}.app-badge-icon{font-size:2rem}.app-badge-label{font-size:.85rem;opacity:.9}.app-badge-name{font-size:1.1rem;font-weight:600}@media (max-width: 768px){.app-page{padding:0 .5rem}.app-page-content{padding:2rem .5rem}.app-page h1{font-size:2rem}.app-features{padding:2rem .5rem}.app-feature{flex-direction:column}.app-feature-content{order:2;padding:1rem;height:auto}.app-feature-image{order:1;flex-direction:column;max-width:100%}.app-feature-image img{width:100%;max-width:100%;height:300px;object-fit:contain}.app-feature h3{font-size:1.25rem;margin-bottom:.75rem}.app-feature p{font-size:.95rem}.app-badges{flex-direction:column}.app-badge{width:100%}}.contacts-page{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.contacts-page-content{background:#fffffff2;padding:3rem;border-radius:16px;box-shadow:0 4px 6px #0000001a}.contacts-page h1{font-size:2.5rem;font-weight:700;color:#2d3748;margin-bottom:2rem}.contacts-section h2{font-size:1.75rem;font-weight:700;color:#2d3748;margin-bottom:1rem}.contacts-description{font-size:1.1rem;line-height:1.7;color:#4a5568;margin-bottom:2rem}.contacts-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:3rem}.contact-item{padding:1.5rem;background:#f7fafc;border-radius:12px}.contact-item h3{font-size:1.25rem;font-weight:600;color:#2d3748;margin-bottom:.75rem}.contact-link{color:#333f47;text-decoration:none;font-weight:500;transition:color .2s ease}.contact-link:hover{color:#2a3239;text-decoration:underline}.contact-text{color:#4a5568;line-height:1.6;margin:0}.contacts-form-section{margin-top:3rem;padding-top:2rem;border-top:2px solid #e2e8f0}.contacts-form-section h2{margin-bottom:1.5rem}.contacts-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#2d3748}.form-group input,.form-group textarea{padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#333f47}.form-group textarea{resize:vertical;min-height:120px}.submit-button{padding:.875rem 2rem;background:#333f47;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease;align-self:flex-start}.submit-button:hover{background:#2a3239;transform:translateY(-2px)}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-message{padding:.875rem 1rem;border-radius:8px;font-size:.95rem;font-weight:500}.form-message-success{background:#c6f6d5;color:#22543d;border:1px solid #9ae6b4}.form-message-error{background:#fed7d7;color:#742a2a;border:1px solid #fc8181}.back-link{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:2rem;color:#667eea;text-decoration:none;font-weight:500;transition:color .2s ease}.back-link:hover{color:#764ba2}.back-arrow{width:20px;height:20px;transform:rotate(180deg)}@media (max-width: 768px){.contacts-page-content{padding:2rem 1.5rem}.contacts-page h1{font-size:2rem}.contacts-info{grid-template-columns:1fr}}.policy-page{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.policy-page-content{background:#fffffff2;padding:3rem;border-radius:16px;box-shadow:0 4px 6px #0000001a}.policy-page h1{font-size:2.5rem;font-weight:700;color:#2d3748;margin-bottom:2rem}.policy-section{margin-bottom:2.5rem}.policy-section h2{font-size:1.75rem;font-weight:700;color:#2d3748;margin-bottom:1rem}.policy-section p{font-size:1.1rem;line-height:1.7;color:#4a5568;margin-bottom:1rem}.policy-section ul{margin:1rem 0;padding-left:2rem}.policy-section li{font-size:1.1rem;line-height:1.7;color:#4a5568;margin-bottom:.5rem}.policy-subsection{margin-left:1rem;margin-top:.5rem}.policy-subsection p{margin-bottom:.75rem}.policy-subsection strong{font-weight:600;color:#2d3748}.policy-link{color:#333f47;text-decoration:none;font-weight:500;transition:color .2s ease}.policy-link:hover{color:#2a3239;text-decoration:underline}.policy-date{font-size:.95rem;color:#718096;font-style:italic;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}@media (max-width: 768px){.policy-page-content{padding:2rem 1.5rem}.policy-page h1{font-size:2rem}.policy-section h2{font-size:1.5rem}.policy-section p,.policy-section li{font-size:1rem}}.navigation{display:flex;gap:2rem;align-items:center}.nav-link{color:#2d3748;text-decoration:none;font-weight:500;font-size:1rem;padding:.5rem 0;position:relative;transition:color .2s ease}.nav-link:hover{color:#333f47}.nav-link.active{color:#333f47;font-weight:600}.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#333f47}@media (max-width: 768px){.navigation{gap:1rem;flex-wrap:wrap}.nav-link{font-size:.9rem}}.footer{background:#fff;border-top:1px solid #e2e8f0;margin-top:auto;padding:1rem 2rem .5rem}.footer-overscroll{position:fixed;bottom:-200vh;left:0;right:0;height:200vh;background:#fff;z-index:-1;pointer-events:none;-webkit-transform:translateZ(0);transform:translateZ(0)}.footer-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;margin-bottom:.75rem}.footer-section{display:flex;flex-direction:column;gap:.25rem;justify-content:center}.footer-title{font-size:1.1rem;color:#000;font-weight:700;margin:0}.footer-subtitle{font-size:.85rem;color:#4a5568;font-weight:500;margin:0}.footer-nav{display:flex;flex-direction:row;gap:1.5rem;flex-wrap:wrap;justify-content:flex-end}.footer-link{color:#4a5568;text-decoration:none;font-size:.875rem;transition:color .2s ease}.footer-link:hover{color:#2d3748}.footer-text{color:#4a5568;font-size:.875rem;line-height:1.5;margin:0}.footer-bottom{max-width:1400px;margin:0 auto;padding-top:.5rem;border-top:1px solid #e2e8f0;text-align:center}.footer-copyright{color:#718096;font-size:.8rem;margin:0}@media (max-width: 768px){.footer{padding:.75rem 1rem .5rem}.footer-content{grid-template-columns:1fr;gap:.5rem;margin-bottom:.5rem}}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 2rem;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:100}.app-header-top{display:flex;justify-content:space-between;align-items:center;gap:2rem}.app-header-link{text-decoration:none;color:inherit;display:block}.app-header-content{display:flex;align-items:center;justify-content:flex-start;gap:1rem;transition:opacity .2s ease}.app-header-link:hover .app-header-content{opacity:.8}.app-logo{width:40px;height:40px;flex-shrink:0;object-fit:contain}.app-header-title{display:flex;flex-direction:column;line-height:1.2}.app-header-title-main{font-size:1.25rem;color:#000;font-weight:700;margin:0}.app-header-title-sub{font-size:.9rem;color:#000;font-weight:500;margin:0}.app-main{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto}@media (max-width: 768px){.app-header{padding:1rem}.app-header-top{flex-direction:column;align-items:flex-start;gap:1rem}.app-header-content{gap:.75rem}.app-logo{width:40px;height:40px}.app-header-title-main{font-size:.7rem}.app-header-title-sub{font-size:.6rem}.app-main{padding:1rem}}*{margin:0;padding:0;box-sizing:border-box;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}@font-face{font-family:SF Pro Display;src:local("SF Pro Display"),local("SFProDisplay-Regular");font-weight:400;font-style:normal}@font-face{font-family:SF Pro Display;src:local("SF Pro Display Medium"),local("SFProDisplay-Medium");font-weight:500;font-style:normal}@font-face{font-family:SF Pro Display;src:local("SF Pro Display Semibold"),local("SFProDisplay-Semibold");font-weight:600;font-style:normal}@font-face{font-family:SF Pro Display;src:local("SF Pro Display Bold"),local("SFProDisplay-Bold");font-weight:700;font-style:normal}html{overflow-x:hidden;overscroll-behavior-x:auto;background:linear-gradient(to bottom,#fff,#fff 20%,#f4f4f4 20%,#f4f4f4);background-attachment:fixed;-webkit-background-attachment:fixed;min-height:100vh;position:relative}html:before{content:"";position:fixed;top:-200vh;left:0;right:0;height:200vh;background:#fff;z-index:-1;pointer-events:none;-webkit-transform:translateZ(0);transform:translateZ(0)}body{font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(to bottom,#F4F4F4 0%,#F4F4F4 95%,transparent 95%);min-height:100vh;overflow-x:hidden;overscroll-behavior-x:auto;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch}#root{min-height:100vh}
