.popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-md);opacity:0;animation:fadeIn .3s ease forwards;overflow-y:auto;-webkit-overflow-scrolling:touch}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.popup-overlay--active{opacity:1}.popup-container{position:relative;background-color:var(--background-color);border-radius:var(--border-radius-lg);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-height:90vh;overflow-y:auto;animation:slideUp .3s ease forwards;width:100%;max-width:90vw;margin:auto}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(min-width:768px){.popup-container{max-width:var(--container-tablet);max-width:600px}}@media(min-width:1024px){.popup-container{max-width:700px}}.popup-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background-color:var(--background-color);border:2px solid var(--border-color);border-radius:var(--border-radius-full);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);z-index:10;color:var(--text-color);padding:0}.popup-close svg{width:20px;height:20px;stroke:currentColor}.popup-close:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--background-color);transform:rotate(90deg)}.popup-close:active{transform:rotate(90deg) scale(.95)}@media(min-width:768px){.popup-close{top:var(--spacing-md);right:var(--spacing-md);width:40px;height:40px}.popup-close svg{width:24px;height:24px}}.popup-content{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}@media(min-width:768px){.popup-content{padding:var(--spacing-xl);gap:var(--spacing-lg)}}@media(min-width:1024px){.popup-content{padding:var(--spacing-2xl);gap:var(--spacing-xl)}}.popup-image{width:100%;border-radius:var(--border-radius);overflow:hidden}.popup-image img{width:100%;height:auto;display:block;object-fit:cover;max-height:250px}@media(min-width:768px){.popup-image img{max-height:350px}}@media(min-width:1024px){.popup-image img{max-height:450px}}.popup-text{display:flex;flex-direction:column;gap:var(--spacing-sm)}@media(min-width:768px){.popup-text{gap:var(--spacing-md)}}.popup-title{font-size:var(--font-h3);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text-color);margin:0;padding-right:var(--spacing-2xl)}@media(min-width:768px){.popup-title{font-size:var(--font-h2)}}@media(min-width:1024px){.popup-title{font-size:var(--font-h1)}}.popup-body{font-size:var(--font-p);line-height:var(--line-height-relaxed);color:var(--text-color)}.popup-body p{margin-bottom:var(--spacing-sm)}.popup-body p:last-child{margin-bottom:0}@media(min-width:768px){.popup-body{font-size:var(--font-h4)}.popup-body p{margin-bottom:var(--spacing-md)}}.popup-body ol,.popup-body ul{padding-left:var(--spacing-lg);margin-bottom:var(--spacing-md)}.popup-body ol li,.popup-body ul li{margin-bottom:var(--spacing-xs);line-height:var(--line-height-relaxed)}.popup-body .btn{margin-top:var(--spacing-md)}.popup-mobile-only{display:block}@media(min-width:768px){.popup-mobile-only{display:none}}.popup-tablet-up{display:none}@media(min-width:768px){.popup-tablet-up{display:block}}.popup-desktop-only{display:none}@media(min-width:1024px){.popup-desktop-only{display:block}.popup-container--horizontal .popup-content{flex-direction:row;align-items:center;gap:var(--spacing-2xl)}.popup-container--horizontal .popup-image,.popup-container--horizontal .popup-text{flex:1 1;min-width:0}}.popup-container--centered .popup-content{text-align:center;align-items:center}.popup-container--centered .popup-title{padding-right:0}.popup-container--small{max-width:400px}.popup-container--small .popup-content{padding:var(--spacing-md)}@media(min-width:768px){.popup-container--small .popup-content{padding:var(--spacing-lg)}.popup-container--large{max-width:800px}}@media(min-width:1024px){.popup-container--large{max-width:1000px}}