:root{--fab-size:52px}.contactfab{position:fixed;right:20px;bottom:20px;z-index:80}.contactfab-menu{position:absolute;right:0;bottom:calc(var(--fab-size) + 12px);display:grid;grid-gap:10px;gap:10px;padding:10px;border-radius:14px;width:max-content;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;box-shadow:none;opacity:0;pointer-events:none;transform:translateY(6px) scale(.98);transform-origin:bottom right;transition:opacity .18s ease,transform .18s ease}.contactfab-menu.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.contactfab-menu>*{white-space:nowrap}.contactfab-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;height:var(--fab-size);width:var(--fab-size);border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--color-primary-a-light),var(--color-primary-b-light));color:#000;box-shadow:0 10px 30px rgba(31,37,71,.25);transition:transform .15s ease,box-shadow .2s ease,background-position .2s ease;background-size:200% 200%}.contactfab-btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(31,37,71,.3);background-position:100% 0}.icon-plus{position:relative;width:18px;height:18px}.icon-plus:after,.icon-plus:before{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;background:currentColor;transform:translate(-50%,-50%);transition:transform .18s ease}.icon-plus:after{transform:translate(-50%,-50%) rotate(90deg)}.contactfab-btn.is-open .icon-plus:before{transform:translate(-50%,-50%) rotate(45deg)}.contactfab-btn.is-open .icon-plus:after{transform:translate(-50%,-50%) rotate(-45deg)}@media (max-width:480px){.contactfab{right:14px;bottom:14px}.contactfab-menu{bottom:58px}}.sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0;margin:0}.contactfab-icon{width:22px;height:22px;pointer-events:none;color:currentColor}.contactfab-btn.is-open .contactfab-icon{animation:bounce-in .4s ease}@keyframes bounce-in{0%{transform:scale(1)}40%{transform:scale(1.2)}60%{transform:scale(.9)}to{transform:scale(1)}}.notification{position:relative;padding:12px 16px;border-radius:6px;font-size:.95rem;margin-top:12px;animation:fadeIn .3s ease;overflow:hidden}.notification .progress-bar{position:absolute;bottom:0;left:0;height:4px;background:rgba(0,0,0,.2);transition:width .05s linear}.notification.info{background:#e8f4fd;color:#0a315e;border:1px solid #b5dbff}.notification.success{background:#e6f9ee;color:#0c6c3c;border:1px solid #9de2b1}.notification.error{background:#fde8e8;color:#a52828;border:1px solid #f5aaaa}.notification.success .progress-bar{background:#0c6c3c}.notification.error .progress-bar{background:#a52828}.notification.info .progress-bar{background:#0a315e}.cookie-consent{position:fixed;bottom:70px;left:20px;max-width:320px;padding:16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:9999;animation:slideInLeft .6s ease forwards;color:var(--text);display:flex;flex-direction:column;gap:12px}.cookie-consent p{margin:0;font-size:.9rem;color:var(--text)}.cookie-consent .actions{display:flex;justify-content:flex-end}.cookie-consent button{background:linear-gradient(135deg,var(--color-primary-a-light),var(--color-primary-b-light));color:#000;border:none;padding:8px 14px;border-radius:12px;font-size:.9rem;cursor:pointer;font-weight:600;transition:transform .15s ease}.cookie-consent button:hover{transform:translateY(-1px)}@keyframes slideInLeft{0%{transform:translateX(-120%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOutLeft{0%{transform:translateX(0);opacity:1}to{transform:translateX(-120%);opacity:0}}@keyframes fadeOut{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,20%)}}.cookie-consent.closing{animation:slideOutLeft .6s ease forwards}@media (max-width:600px){.cookie-consent{left:50%;bottom:70px;transform:translateX(-50%);width:90%;max-width:360px;animation:fadeIn .6s ease forwards;text-align:center}.cookie-consent.closing{animation:fadeOut .6s ease forwards}.cookie-consent .actions{justify-content:center}}.gradient-text{background:linear-gradient(135deg,var(--color-primary-a-light),var(--color-primary-b-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.message-bubble.desktop{position:fixed;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 16px;max-width:280px;z-index:20000;animation:fadeIn .2s ease}.message-bubble.desktop .pointer{position:absolute;top:-8px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--card)}.message-bubble h3{margin:0 0 8px;font-size:1rem;font-weight:600}.message-bubble .message-body{font-size:.85rem;color:var(--muted);line-height:1.4}.message-bubble-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:10000;display:flex;justify-content:center;align-items:flex-end;animation:fadeIn .25s ease}.message-bubble.mobile{background:var(--card);border-radius:var(--radius) var(--radius) 0 0;padding:16px;width:100%;max-height:80%;overflow-y:auto;animation:slideUp .3s ease;position:relative}.message-bubble.mobile h3{margin-top:0;font-size:1.1rem}.message-bubble.mobile .message-body{font-size:.9rem;color:var(--muted);line-height:1.5;overflow-y:auto;max-height:calc(80vh - 60px);padding-right:8px}.message-bubble.mobile .message-body::-webkit-scrollbar{width:6px}.message-bubble.mobile .message-body::-webkit-scrollbar-thumb{background:var(--color-primary-a-light);border-radius:4px}.close-btn{position:absolute;top:10px;right:12px;background:transparent;border:none;font-size:1.2rem;cursor:pointer;color:var(--text)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.faq-section{width:100%;max-width:min(1180px,100%);margin:0 auto;padding:2rem 1rem;box-sizing:border-box;overflow-x:hidden}.faq-title-container{text-align:left;margin-bottom:1.5rem;padding-left:0}.faq-title{font-size:clamp(28px,4vw,48px)}.faq-title,.faq-title-h3{font-weight:700;margin:0;background:linear-gradient(45deg,var(--text),var(--color-primary-a-light),var(--text));background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.faq-title-h3{font-size:32px}.faq-items-container{display:grid;grid-template-columns:1fr;grid-gap:1.5rem;gap:1.5rem;width:100%}@media (max-width:768px){.faq-section{padding:1.5rem .75rem}.faq-title-container{margin-bottom:2rem}.faq-title{font-size:clamp(24px,6vw,32px);padding:0 .5rem}.faq-items-container{gap:1rem}}@media (max-width:480px){.faq-section{padding:1rem .5rem}.faq-title{font-size:clamp(20px,7vw,28px)}.faq-items-container{gap:.75rem}}.faq-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .3s ease;width:100%;align-self:stretch}.faq-item:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}.faq-question-button{width:100%;background:none;border:none;padding:20px 30px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease;text-align:left}.faq-question-button:hover{background:var(--hover)}.faq-question-button:hover .faq-question{color:var(--text2)}.faq-question-button:hover .faq-toggle-icon{color:var(--text2);transform:scale(1.1)}.faq-question{margin:0;font-size:1.2rem;font-weight:600;color:var(--text);transition:color .3s ease;flex:1 1;padding-right:1rem}.faq-toggle-icon{width:32px;height:32px;border-radius:50%;background:var(--card);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--text);transition:all .3s ease;flex-shrink:0}.faq-toggle-icon--open{transform:rotate(45deg);background:var(--text2);color:#fff;border-color:var(--text2)}.faq-answer-container{padding:20px 30px 30px;background:var(--hover);border-top:1px solid var(--border);animation:slideDown .3s ease-out}.faq-answer{margin:0;font-size:1rem;line-height:1.6;color:var(--muted);white-space:pre-line}@keyframes slideDown{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:200px;padding-top:0;padding-bottom:30px}}@media (max-width:768px){.faq-question-button{padding:15px 20px}.faq-question{font-size:1.1rem;padding-right:.75rem}.faq-toggle-icon{width:28px;height:28px;font-size:18px}.faq-answer-container{padding:15px 20px 20px}.faq-answer{font-size:.95rem;line-height:1.5}}@media (max-width:480px){.faq-item{margin:0;border-radius:8px}.faq-question-button{padding:12px 16px;flex-wrap:wrap;gap:.5rem}.faq-question{font-size:1rem;line-height:1.3;padding-right:.5rem}.faq-toggle-icon{width:24px;height:24px;font-size:16px;flex-shrink:0}.faq-answer-container{padding:12px 16px 16px}.faq-answer{font-size:.9rem;line-height:1.5}.faq-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}}@media (max-width:320px){.faq-question-button{padding:.875rem 1rem}.faq-question{font-size:.95rem}.faq-toggle-icon{width:22px;height:22px;font-size:14px}.faq-answer-container{padding:.875rem 1rem 1rem}}