.btn{border-radius:var(--radius-full);font-weight:var(--weight-bold);font-size:var(--text-base);letter-spacing:var(--tracking-wide);transition:all var(--transition-bounce);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);border:2px solid #0000;padding:1rem 2rem;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-btn);border-color:#0000}.btn-primary:before{content:"";opacity:0;transition:opacity var(--transition-base);background:linear-gradient(135deg,#ffffff40,#0000);position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.btn-primary:hover{box-shadow:var(--shadow-btn-hover);transform:translateY(-2px)}.btn-primary:hover:before{opacity:1}.btn-primary:active{box-shadow:var(--shadow-btn);transform:translateY(0)}}.btn-primary:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);box-shadow:var(--shadow-sm)}@media (prefers-reduced-motion:no-preference){.btn-secondary:hover{background:var(--color-primary-light);border-color:var(--color-primary-muted);color:var(--color-text);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-secondary:active{box-shadow:var(--shadow-sm);transform:translateY(0)}}.btn-secondary:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.btn-inverted{color:var(--color-primary);font-weight:var(--weight-bold);background:#fff;border-color:#0000;box-shadow:0 2px 8px #00000026}@media (prefers-reduced-motion:no-preference){.btn-inverted:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0003}.btn-inverted:active{transform:translateY(0);box-shadow:0 1px 4px #00000026}}.btn-inverted:focus-visible{outline:3px solid var(--color-surface);outline-offset:3px}.btn-sm{font-size:var(--text-base);padding:.75rem 1.5rem}.btn-full{width:100%}.btn-hero-secondary{-webkit-backdrop-filter:blur(8px);color:#fff;box-shadow:none;background:#312e8199;border:2px solid #fff6}@media (prefers-reduced-motion:no-preference){.btn-hero-secondary:hover{background:#fff3;border-color:#fff9;transform:translateY(-3px)}}.btn-hero-secondary:focus-visible{outline-offset:3px;outline:3px solid #fff}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-card);transition:all var(--transition-bounce);position:relative}@media (prefers-reduced-motion:no-preference){.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}}.card-value{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);text-align:center;transition:all var(--transition-bounce);position:relative;overflow:hidden}.card-value:after{content:"";background:var(--gradient-primary);transform-origin:0;height:6px;transition:transform var(--transition-slow);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}@media (prefers-reduced-motion:no-preference){.card-value:hover{box-shadow:var(--shadow-card-soft);transform:translateY(-8px)}.card-value:hover:after{transform:scaleX(1)}}.card-value h3{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--weight-bold);margin-bottom:var(--space-3)}.card-value p{color:var(--color-text-body);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0}.card-feature{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);text-align:center;transition:all var(--transition-bounce);position:relative}@media (prefers-reduced-motion:no-preference){.card-feature:hover{border-color:var(--color-primary-muted);box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.card-feature:hover .icon-container{transform:scale(1.05)}}.card-feature h3{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.card-feature p{color:var(--color-text-body);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0}.icon-container,.icon-container-lg{background:var(--color-primary-light);margin:0 auto var(--space-5);transition:all var(--transition-bounce);border:1px solid var(--color-primary-muted);justify-content:center;align-items:center;display:flex}.icon-container{border-radius:var(--radius-xl);width:56px;height:56px}.icon-container-lg{border-radius:var(--radius-2xl);width:72px;height:72px}.icon-container--violet{background:linear-gradient(135deg, var(--color-primary-light), #ede9fe);border-color:var(--color-primary-muted)}.icon-container--pink{background:linear-gradient(135deg, var(--color-secondary-light), #fce7f3);border-color:var(--color-secondary-muted)}.icon-container--amber{background:linear-gradient(135deg, var(--color-tertiary-light), #fef3c7);border-color:var(--color-tertiary-muted)}.icon-container--mint{background:linear-gradient(135deg, var(--color-quaternary-light), #a7f3d0);border-color:var(--color-quaternary-muted)}input,select,textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:var(--font-body);color:var(--color-text);width:100%;transition:all var(--transition-base);padding:.875rem 1rem;box-shadow:0 0 #0000}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #8b5cf61a}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}label{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text);margin-bottom:var(--space-2);letter-spacing:var(--tracking-wide);display:block}textarea{resize:vertical;min-height:7rem}select{-webkit-appearance:none;appearance:none;cursor:pointer;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=\"%231e293b\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"%3e%3cpolyline points=\"6 9 12 15 18 9\"%3e%3c/polyline%3e%3c/svg%3e");background-position:right 1rem center;background-repeat:no-repeat;background-size:1.25rem;padding-right:3rem}.form-group{margin-bottom:var(--space-4)}.form-required{color:var(--color-primary-text);margin-left:.125rem}.form-row{gap:var(--space-4);flex-direction:column;display:flex}.modal-overlay{backdrop-filter:blur(4px);z-index:var(--z-overlay);padding:var(--space-4);opacity:0;visibility:hidden;transition:opacity var(--transition-slow), visibility var(--transition-slow);background:#0f172ab3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.is-active{opacity:1;visibility:visible}.modal-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:100%;max-width:38rem;max-height:calc(100vh - 2rem);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-xl);transition:transform var(--transition-bounce);scrollbar-width:thin;scrollbar-color:var(--color-primary-muted) var(--color-primary-light);overflow-y:auto;transform:scale(.95)translateY(20px)}.modal-panel::-webkit-scrollbar{width:10px}.modal-panel::-webkit-scrollbar-track{background:var(--color-primary-light);border-radius:var(--radius-full);border:1px solid var(--color-primary-muted)}.modal-panel::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:var(--radius-full);border:2px solid var(--color-primary-light)}.modal-panel::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.modal-panel::-webkit-scrollbar-thumb:active{background:var(--color-secondary)}.modal-overlay.is-active .modal-panel{transform:scale(1)translateY(0)}.modal-header{margin-bottom:var(--space-4);position:relative}.modal-header h2{margin-bottom:var(--space-1);padding-right:var(--space-12)}.modal-subtitle{font-size:var(--text-base);color:var(--color-text-muted);padding-right:var(--space-12)}.modal-contact-info{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.modal-contact-link{flex:1 1 calc(50% - var(--space-1));justify-content:center;align-items:center;gap:var(--space-2);min-width:170px;padding:var(--space-3) var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-primary-text);background:var(--color-primary-light);border:1px solid var(--color-primary-muted);border-radius:var(--radius-lg);transition:all var(--transition-bounce);word-break:break-all;text-decoration:none;display:flex}.modal-contact-link:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:translateY(-2px)}.modal-contact-link svg{flex-shrink:0}.modal-close{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg);width:44px;height:44px;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-base);justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0}@media (prefers-reduced-motion:no-preference){.modal-close:hover{background:var(--color-primary-light);border-color:var(--color-primary-muted);color:var(--color-primary-text)}}.modal-panel-legal{max-width:40rem}.legal-content h3{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text);margin-top:var(--space-6);margin-bottom:var(--space-3)}.legal-content h3:first-child{margin-top:0}.legal-content p{font-size:var(--text-base);color:var(--color-text-body);line-height:var(--leading-relaxed);margin-bottom:var(--space-3)}.legal-content ul{padding-left:var(--space-6);margin-bottom:var(--space-4);list-style:outside}.legal-content li{font-size:var(--text-base);color:var(--color-text-body);line-height:var(--leading-relaxed);margin-bottom:var(--space-2)}.accordion-item{border-bottom:1px solid var(--color-border);transition:background var(--transition-base), border-color var(--transition-base);border-left:3px solid #0000}.accordion-item:last-child{border-bottom:none}.accordion-item:hover{background:var(--color-primary-light);border-left-color:var(--color-primary-muted)}.accordion-item:has(.accordion-trigger[aria-expanded=true]){background:var(--color-primary-light);border-left-color:var(--color-primary)}.accordion-trigger{width:100%;padding:var(--space-5) var(--space-4);cursor:pointer;font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text);text-align:left;transition:color var(--transition-base);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.accordion-trigger:hover{color:var(--color-primary-text)}.accordion-trigger img{transition:transform var(--transition-bounce);flex-shrink:0}.accordion-trigger[aria-expanded=true]{color:var(--color-primary-text)}.accordion-trigger[aria-expanded=true] img{transform:rotate(180deg)}.accordion-content{max-height:0;transition:max-height .3s ease-out;overflow:hidden}.accordion-content-inner{padding:0 var(--space-4) var(--space-5);color:var(--color-text-body);line-height:var(--leading-relaxed)}.form-status{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);text-align:center;margin-top:var(--space-5);font-weight:var(--weight-semibold);border:2px solid #0000}.form-status-success{background:linear-gradient(135deg, var(--color-quaternary-light), var(--color-quaternary-muted));border-color:var(--color-quaternary);color:#065f46}.form-status-error{color:#991b1b;background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#ef4444}.faq-container{max-width:var(--container-narrow);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-2);box-shadow:var(--shadow-card);margin:0 auto;list-style:none}.deco-shape{pointer-events:none;z-index:0;position:absolute}.deco-circle{border-radius:50%}.deco-circle-violet{background:var(--gradient-blob-1)}.deco-circle-pink{background:var(--gradient-blob-2)}.deco-circle-amber{background:var(--gradient-blob-3)}.deco-circle-mint{background:var(--gradient-blob-4)}.badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-semibold);border-radius:var(--radius-full);border:1px solid var(--color-primary-muted);background:var(--color-primary-light);color:var(--color-primary-text);text-transform:uppercase;letter-spacing:var(--tracking-wide);display:inline-flex}.badge--violet{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary-text)}.badge--pink{background:var(--color-secondary-light);border-color:var(--color-secondary);color:var(--color-secondary)}.badge--amber{background:var(--color-tertiary-light);border-color:var(--color-tertiary-hover);color:var(--color-text)}.badge--mint{background:var(--color-quaternary-light);border-color:var(--color-quaternary);color:var(--color-quaternary-hover)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.wiggle-hover:hover{transform:scale(1.02)}.animate-pop-in{animation:.3s ease-out forwards fade-in-up}}.text-gradient{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.link-animated{text-decoration:none;position:relative}.link-animated:after{content:"";background:var(--gradient-primary);width:0;height:2px;transition:width var(--transition-bounce);position:absolute;bottom:-2px;left:0}.link-animated:hover:after{width:100%}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .4s ease-out,height .4s ease-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-ripple:active:after{width:200px;height:200px}.focus-glow:focus-visible{box-shadow:0 0 0 3px var(--color-primary-muted), 0 0 20px #8b5cf64d;outline:none}@keyframes skeleton{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--color-border) 25%, var(--color-bg) 50%, var(--color-border) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton}@keyframes count-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-count{animation:count-up .6s var(--ease-bounce) forwards}.stagger-item{opacity:0;transform:translateY(20px)}.stagger-item.is-visible{animation:count-up .5s var(--ease-bounce) forwards}.stagger-item:first-child{animation-delay:0s}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.2s}.stagger-item:nth-child(4){animation-delay:.3s}.stagger-item:nth-child(5){animation-delay:.4s}.stagger-item:nth-child(6){animation-delay:.5s}.card-lift{transition:transform var(--transition-bounce), box-shadow var(--transition-bounce)}@media (prefers-reduced-motion:no-preference){.card-lift:hover{box-shadow:var(--shadow-xl);transform:translateY(-8px)}}.gradient-border{background:var(--color-surface);border-radius:var(--radius-xl);position:relative}.gradient-border:before{content:"";background:var(--gradient-primary);border-radius:inherit;z-index:-1;position:absolute;inset:-2px}@keyframes confetti-burst{0%{opacity:1;transform:scale(0)rotate(0)}50%{opacity:1}to{opacity:0;transform:scale(1.5)rotate(180deg)}}.confetti-burst{animation:.6s ease-out forwards confetti-burst}@keyframes checkmark{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}.animate-checkmark{stroke-dasharray:100;stroke-dashoffset:100px;animation:.5s ease-out forwards checkmark}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);padding:var(--space-2) var(--space-3);background:var(--color-text);color:var(--color-text-inverse);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;border-radius:var(--radius-md);opacity:0;visibility:hidden;transition:opacity var(--transition-fast), visibility var(--transition-fast);pointer-events:none;z-index:var(--z-tooltip,50);position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-8px)}.tooltip:hover:after{opacity:1;visibility:visible}.progress-bar{background:var(--color-border);border-radius:var(--radius-full);height:8px;overflow:hidden}.progress-bar-fill{background:var(--gradient-primary);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.chip{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--color-primary-light);color:var(--color-text-on-violet);font-size:var(--text-sm);font-weight:var(--weight-semibold);border-radius:var(--radius-full);border:1px solid var(--color-primary-muted);transition:all var(--transition-bounce);cursor:default;display:inline-flex}.chip--clickable{cursor:pointer}.chip--clickable:hover{background:var(--color-primary-muted);border-color:var(--color-primary);transform:scale(1.05)}.chip--pink{background:var(--color-secondary-light);color:var(--color-text-on-pink);border-color:var(--color-secondary-muted)}.chip--amber{background:var(--color-tertiary-light);color:var(--color-text-on-amber);border-color:var(--color-tertiary-muted)}.chip--mint{background:var(--color-quaternary-light);color:var(--color-text-on-mint);border-color:var(--color-quaternary-muted)}.scroll-to-top{bottom:var(--space-6);right:var(--space-6);background:var(--gradient-primary);border-radius:var(--radius-full);width:48px;height:48px;box-shadow:var(--shadow-lg);cursor:pointer;z-index:var(--z-fixed);opacity:0;visibility:hidden;transition:opacity var(--transition-base), visibility var(--transition-base), transform var(--transition-bounce), box-shadow var(--transition-bounce);border:none;justify-content:center;align-items:center;display:flex;position:fixed;transform:translateY(20px)scale(.8)}.scroll-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.scroll-to-top img{filter:brightness(0)invert();transition:transform var(--transition-bounce)}@media (prefers-reduced-motion:no-preference){.scroll-to-top:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.scroll-to-top:hover img{transform:translateY(-1px)}.scroll-to-top:active{box-shadow:var(--shadow-md);transform:translateY(0)}}.scroll-to-top:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}@media (width<=47.9375rem){.scroll-to-top{bottom:var(--space-4);right:var(--space-4);width:48px;height:48px}}