.vertical-navigation{position:fixed;left:20px;top:50%;transform:translateY(-50%);z-index:1000}
.vertical-navigation[data-sticky="true"]{position:fixed}
.vertical-navigation[data-sticky="false"]{position:absolute}
.vertical-navigation[data-show-labels="true"] .vertical-navigation__label{opacity:0;visibility:hidden;pointer-events:none}
.vertical-navigation[data-show-labels="true"] .vertical-navigation__link:hover .vertical-navigation__label{opacity:1;visibility:visible;pointer-events:auto}
.vertical-navigation[data-show-labels="false"] .vertical-navigation__label{opacity:1;visibility:visible;pointer-events:auto}
.vertical-navigation[data-show-labels="false"] .vertical-navigation__item.is-active .vertical-navigation__label{background-color:#fff;box-shadow:0 6px 20px rgba(0,0,0,0.2);font-weight:600;padding:12px 20px}
.vertical-navigation__toggle{display:none}
.vertical-navigation__list{list-style:none;display:flex;flex-direction:column;gap:10px}
.vertical-navigation__item{position:relative}
.vertical-navigation__item.is-active{margin:15px 0}
.vertical-navigation__item.is-active .vertical-navigation__icon-wrapper{background-color:#1961ac !important;box-shadow:0 8px 24px rgba(0,0,0,0.25);transform:scale(1.5) translateZ(0);will-change:transform;backface-visibility:hidden;-webkit-font-smoothing:subpixel-antialiased}
.vertical-navigation__item.is-active .vertical-navigation__link:hover .vertical-navigation__icon-wrapper{transform:scale(1.5) translateZ(0)}
.vertical-navigation__link{display:block;text-decoration:none;cursor:pointer;position:relative}
.vertical-navigation__icon-wrapper{width:42px;height:42px;border-radius:50%;background-color:#b287d4;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,0.1);will-change:transform;backface-visibility:hidden;-webkit-font-smoothing:subpixel-antialiased;transform:translateZ(0)}
.vertical-navigation__link:hover .vertical-navigation__icon-wrapper{transform:scale(1.15) translateZ(0);box-shadow:0 4px 12px rgba(0,0,0,0.15)}
.vertical-navigation__icon{font-size:20px;color:#fff;will-change:transform;backface-visibility:hidden;transform:translateZ(0);display:block;line-height:1}
.vertical-navigation__label{position:absolute;left:calc(100% + 15px);top:50%;transform:translateY(-50%);background-color:rgba(255,255,255,0.95);color:#333;padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,0.15);transition:all .3s ease}
.vertical-navigation__label::before{content:'';position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:0;height:0;border-style:solid;border-width:8px;border-color:transparent;border-right-color:rgba(255,255,255,0.95)}
.vertical-navigation__dots{display:none}
@media(max-width:768px){.vertical-navigation{right:10px;left:auto;bottom:20px;top:auto;transform:none}
.vertical-navigation__dots{display:flex;flex-direction:column;gap:12px;position:fixed;left:2px;top:50%;transform:translateY(-50%);z-index:999}
.vertical-navigation__dot{width:8px;height:8px;border-radius:50%;background-color:rgba(178,135,212,0.4);cursor:pointer;transition:all .3s ease;border:2px solid transparent}
.vertical-navigation__dot.is-active{background-color:#333;transform:scale(1);box-shadow:0 0 0 3px rgba(51,51,51,0.2)}
.vertical-navigation__dot:hover{background-color:#333;transform:scale(1.2)}
.vertical-navigation::before{content:'';position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.4);opacity:0;visibility:hidden;transition:all .3s ease;z-index:-1}
.vertical-navigation.is-open::before{opacity:1;visibility:visible}
.vertical-navigation__toggle{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#8fd9b6,#e8f76d);border:3px solid #fff;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,0.15);transition:all .3s ease;position:fixed;bottom:38px;right:12px;z-index:2000}
.vertical-navigation__toggle:hover{transform:scale(1.05);box-shadow:0 6px 16px rgba(0,0,0,0.2)}
.vertical-navigation__toggle-icon{font-size:32px;font-weight:300;color:#fff;transition:transform .3s ease;line-height:1}
.vertical-navigation.is-open .vertical-navigation__toggle{width:50px;height:50px;background:linear-gradient(135deg,#8fd9b6,#e8f76d)}
.vertical-navigation.is-open .vertical-navigation__toggle-icon{transform:rotate(45deg);font-size:28px}
.vertical-navigation__list-container{right:16px;position:fixed;bottom:90px;width:340px;background:#fff;border-radius:24px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,0.3),0 0 0 1px rgba(0,0,0,0.05);max-height:0;overflow:visible;opacity:0;visibility:hidden;transition:all .4s cubic-bezier(0.4,0,0.2,1);transform:translateY(30px) scale(0.9);z-index:1}
.vertical-navigation__list-container::after{content:'';position:absolute;bottom:-12px;right:20px;width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:15px solid #fff;filter:drop-shadow(0 8px 8px rgba(0,0,0,0.15))}
.vertical-navigation.is-open .vertical-navigation__list-container{max-height:650px;opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.vertical-navigation__list{max-height:none;overflow:visible;opacity:1;margin-top:0;gap:5px}
.vertical-navigation__icon-wrapper{width:44px;height:44px;flex-shrink:0}
.vertical-navigation__icon{font-size:18px}
.vertical-navigation__label{position:relative;left:0;top:0;transform:none;opacity:1 !important;visibility:visible !important;background:0;color:#1a1a1a;padding:0;box-shadow:none;font-size:15px;font-weight:600;margin-left:14px;pointer-events:auto !important;letter-spacing:0;line-height:1.2;display:inline-block}
.vertical-navigation__label::before{display:none}
.vertical-navigation__link{display:flex;align-items:center;padding:8px 12px;border-radius:12px;transition:all .3s ease}
.vertical-navigation__link:hover{background-color:rgba(0,0,0,0.04);transform:translateX(4px)}
.vertical-navigation__item.is-active .vertical-navigation__link{background-color:rgba(59,127,196,0.1)}
.vertical-navigation__item.is-active .vertical-navigation__icon-wrapper{background-color:#1961ac !important;transform:scale(1.05);box-shadow:0 4px 14px rgba(0,0,0,0.15);animation:none}
}
@keyframes sectionHighlight{0{opacity:1;transform:translateY(0)}
50%{opacity:.95;transform:translateY(-5px)}
100%{opacity:1;transform:translateY(0)}
}