.btn-primary{background:linear-gradient(135deg,#475569,#334155)!important;color:#fff!important;border:none!important;padding:.75rem 2rem!important;border-radius:.75rem!important;font-weight:500!important;font-size:1rem!important;transition:all .2s ease!important;box-shadow:0 2px 8px rgba(71,85,105,.2)!important;transform:translateY(0)!important}.btn-primary:hover{background:linear-gradient(135deg,#334155,#1e293b)!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px rgba(71,85,105,.3)!important}.btn-primary:active{transform:translateY(0)!important;box-shadow:0 1px 4px rgba(71,85,105,.2)!important}.btn-primary:focus{outline:none!important;box-shadow:0 0 0 3px rgba(71,85,105,.3)!important}.btn-secondary{background:hsla(0,0%,100%,.9)!important;backdrop-filter:blur(8px)!important;border:1px solid hsla(0,0%,100%,.3)!important;color:#374151!important;padding:.75rem 2rem!important;border-radius:.75rem!important;font-weight:500!important;font-size:1rem!important;transition:all .2s ease!important;transform:translateY(0)!important}.btn-secondary:hover{background:#fff!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px rgba(0,0,0,.1)!important;color:#1f2937!important}.btn-secondary:active{transform:translateY(0)!important;box-shadow:0 1px 4px rgba(0,0,0,.1)!important}.btn-secondary:focus{outline:none!important;box-shadow:0 0 0 3px rgba(59,130,246,.3)!important}.btn-outline{background:rgba(0,0,0,0)!important;border:2px solid #475569!important;color:#475569!important;padding:.75rem 2rem!important;border-radius:.75rem!important;font-weight:500!important;font-size:1rem!important;transition:all .2s ease!important;transform:translateY(0)!important}.btn-outline:hover{background:#475569!important;color:#fff!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px rgba(71,85,105,.3)!important}.btn-outline:active{transform:translateY(0)!important;box-shadow:0 1px 4px rgba(71,85,105,.2)!important}.btn-outline:focus{outline:none!important;box-shadow:0 0 0 3px rgba(71,85,105,.3)!important}.chat-toggle{position:fixed;bottom:20px;right:20px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:none;cursor:pointer;box-shadow:0 4px 20px rgba(102,126,234,.4);z-index:1000;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.chat-toggle:hover{box-shadow:0 6px 25px rgba(102,126,234,.6);transform:translateY(-2px)}.chat-toggle.open{background:linear-gradient(135deg,#ff6b6b,#ee5a24);box-shadow:0 4px 20px rgba(255,107,107,.4)}.chat-toggle .chat-icon{color:#fff;font-size:28px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.chat-toggle .chat-icon svg{width:28px;height:28px}.chat-toggle .chat-badge{position:absolute;top:-5px;right:-5px;background:#ff6b6b;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:10px;animation:pulse 2s infinite;border:2px solid #fff;box-shadow:0 2px 4px rgba(0,0,0,.2)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.chat-window{position:fixed;bottom:90px;right:20px;width:350px;height:600px;background:#fff;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.15);z-index:999;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e1e5e9}@media(max-width:480px){.chat-window{width:calc(100vw - 40px);height:calc(100vh - 120px);bottom:10px;right:10px;left:10px}}.chat-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:16px 20px;color:#fff}.chat-header .chat-title{display:flex;align-items:center;gap:12px}.chat-header .chat-title .chat-avatar{width:50px;height:50px;border-radius:50%;overflow:hidden;border:2px solid hsla(0,0%,100%,.3);background:linear-gradient(135deg,#475569,#3b82f6);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(71,85,105,.3)}.chat-header .chat-title .chat-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.chat-header .chat-title .chat-avatar img[src$=".svg"]{width:40px;height:40px;-o-object-fit:contain;object-fit:contain;padding:2px;filter:brightness(1.1) contrast(1.1)}.chat-header .chat-title .chat-info h3{margin:0;font-size:16px;font-weight:600}.chat-header .chat-title .chat-info .status-container{display:flex;flex-direction:column;gap:2px}.chat-header .chat-title .chat-info .status{font-size:12px;opacity:.8;display:flex;align-items:center;gap:4px}.chat-header .chat-title .chat-info .status:before{content:"";width:8px;height:8px;background:#4ade80;border-radius:50%;display:inline-block}.chat-header .chat-title .chat-info .backend-indicator{font-size:10px;opacity:.7;background:hsla(0,0%,100%,.2);padding:2px 6px;border-radius:8px;display:inline-block;width:-moz-fit-content;width:fit-content}.chat-header .chat-title .chat-info .chatbot-badge{font-size:9px;opacity:.9;background:rgba(102,126,234,.4);color:#fff;padding:2px 6px;border-radius:8px;display:inline-block;margin-left:6px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:1px solid hsla(0,0%,100%,.2)}.chat-messages{flex:1;padding:20px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:12px;background:#f8fafc;max-width:none;word-wrap:break-word;overflow-wrap:break-word;min-width:0;width:100%;min-height:0}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#94a3b8}.chat-messages .message{display:flex;min-width:0;flex-shrink:0;max-width:85%}.chat-messages .message.user{align-self:flex-end;justify-content:flex-end;width:-moz-fit-content;width:fit-content}.chat-messages .message.user .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:18px 18px 4px 18px}.chat-messages .message.caroline{align-self:flex-start;justify-content:flex-start;width:100%;max-width:85%}.chat-messages .message.caroline .message-content{background:#fff;color:#334155;border-radius:18px 18px 18px 4px;border:1px solid #e2e8f0;overflow:hidden}.chat-messages .message .message-content{padding:12px 16px;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;hyphens:auto;min-width:0;max-width:100%;width:100%;box-sizing:border-box;display:block}.chat-messages .message .message-content p{margin:0;font-size:14px;line-height:1.4;word-wrap:break-word}.chat-messages .message .message-content .message-text{font-size:14px;line-height:1.6;word-wrap:break-word;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;width:100%;max-width:100%;box-sizing:border-box;display:block;min-width:0}.chat-messages .message .message-content .message-text a{word-break:break-word;overflow-wrap:anywhere;max-width:100%;display:inline;cursor:pointer;text-decoration:underline;text-underline-offset:.2em;font-weight:500;transition:color .15s ease,background-color .15s ease}.chat-messages .message .message-content .message-text a:focus-visible{outline:2px solid #667eea;outline-offset:2px;border-radius:4px}.chat-messages .message .message-content .message-text a[href^="mailto:"],.chat-messages .message .message-content .message-text a[href^=http]{color:#5b21b6;background-color:rgba(124,58,237,.12);padding:.12em .45em;border-radius:8px;text-decoration:underline;text-underline-offset:.18em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.chat-messages .message .message-content .message-text a[href^="mailto:"]:hover,.chat-messages .message .message-content .message-text a[href^=http]:hover{background-color:rgba(124,58,237,.2);color:#4c1d95}.chat-messages .message .message-content .message-text p{margin:0 0 8px}.chat-messages .message .message-content .message-text p:last-child{margin-bottom:0}.chat-messages .message .message-content .message-text h1,.chat-messages .message .message-content .message-text h2,.chat-messages .message .message-content .message-text h3,.chat-messages .message .message-content .message-text h4,.chat-messages .message .message-content .message-text h5,.chat-messages .message .message-content .message-text h6{margin:12px 0 8px;font-weight:600;line-height:1.3}.chat-messages .message .message-content .message-text h3{font-size:16px;color:#1e293b}.chat-messages .message .message-content .message-text .contact-clio{margin-top:2px}.chat-messages .message .message-content .message-text .contact-clio h3{margin:0 0 14px;font-size:16px;font-weight:600;color:#1e293b}.chat-messages .message .message-content .message-text .contact-clio p{margin:0 0 14px;line-height:1.5}.chat-messages .message .message-content .message-text .contact-clio p:last-child{margin-bottom:0}.chat-messages .message .message-content .message-text .contact-clio p strong{display:block;font-weight:600;color:#475569;margin-bottom:2px;font-size:13px;line-height:1.25}.chat-messages .message .message-content .message-text .contact-clio p strong+br{display:none}.chat-messages .message .message-content .message-text ol,.chat-messages .message .message-content .message-text ul{margin:8px 0;padding-left:24px;list-style:disc;box-sizing:border-box}.chat-messages .message .message-content .message-text ul{list-style-type:disc}.chat-messages .message .message-content .message-text ol{list-style-type:decimal}.chat-messages .message .message-content .message-text li{margin:4px 0;line-height:1.6}.chat-messages .message .message-content .message-text strong{font-weight:600;color:#1e293b}.chat-messages .message .message-content .message-text em{font-style:italic}.chat-messages .message .message-content .message-text code{background:rgba(0,0,0,.1);padding:2px 4px;border-radius:3px;font-family:Courier New,monospace}.chat-messages .message .message-content .message-text pre{background:rgba(0,0,0,.05);padding:8px;border-radius:4px;overflow-x:auto;margin:8px 0}.chat-messages .message .message-content .message-text blockquote{border-left:3px solid #667eea;padding-left:12px;margin:8px 0;font-style:italic}.chat-messages .message .message-content .message-text:after,.chat-messages .message .message-content .message-text:before{content:""}.chat-messages .message .message-content .message-text .tech-skills{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.chat-messages .message .message-content .message-text ul ul li{margin:2px 4px 2px 0}.chat-messages .message .message-content .message-text code,.chat-messages .message .message-content .message-text ul ul li code{background:#f1f5f9;color:#475569;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;border:1px solid #e2e8f0;white-space:normal;word-break:break-word;overflow-wrap:anywhere;display:inline;max-width:100%;font-family:inherit;vertical-align:baseline}.chat-messages .message .message-content .message-text code{box-sizing:border-box}.chat-messages .message .message-content .message-text li em:not(.skill-tag):not([class*=skill])[data-skill=true],.chat-messages .message .message-content .message-text li span:not(.skill-tag):not([class*=skill])[data-skill=true],.chat-messages .message .message-content .message-text li strong:not(.skill-tag):not([class*=skill])[data-skill=true]{background:#f1f5f9;color:#475569;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;border:1px solid #e2e8f0;white-space:nowrap;display:inline-block;margin:2px}.chat-messages .message .message-content .message-text .skill-list{display:flex;flex-wrap:wrap;gap:6px}.chat-messages .message .message-content .message-text .skill-list .skill-item{background:#f1f5f9;color:#475569;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;border:1px solid #e2e8f0;white-space:nowrap;display:inline-block}.chat-messages .message .message-content .message-text .skill-category{margin:12px 0}.chat-messages .message .message-content .message-text .skill-category strong{display:inline-block;margin-right:8px;margin-bottom:0;color:#1e293b;vertical-align:top;line-height:1.4}.chat-messages .message .message-content .message-text .skill-category>:not(strong){display:inline-block;vertical-align:top}.chat-messages .message .message-content .message-text span{display:inline;word-wrap:break-word;max-width:100%}.chat-messages .message .message-content .message-text ol,.chat-messages .message .message-content .message-text ul{overflow-wrap:break-word;word-wrap:break-word}.chat-messages .message .message-content .message-text div,.chat-messages .message .message-content .message-text h1,.chat-messages .message .message-content .message-text h2,.chat-messages .message .message-content .message-text h3,.chat-messages .message .message-content .message-text h4,.chat-messages .message .message-content .message-text h5,.chat-messages .message .message-content .message-text h6,.chat-messages .message .message-content .message-text li,.chat-messages .message .message-content .message-text ol,.chat-messages .message .message-content .message-text p,.chat-messages .message .message-content .message-text ul{overflow-wrap:break-word!important;word-wrap:break-word!important;word-break:break-word!important;max-width:100%!important;hyphens:auto!important;box-sizing:border-box!important;min-width:0!important}.chat-messages .message .message-content .message-text *{max-width:100%;box-sizing:border-box;min-width:0}.chat-messages .message .message-content .message-text ol,.chat-messages .message .message-content .message-text ul{width:100%;max-width:100%}.chat-messages .message .message-content .message-text .skill-category,.chat-messages .message .message-content .message-text .skill-list{display:flex!important;flex-wrap:wrap!important;gap:4px!important;max-width:100%!important;overflow-wrap:break-word!important;min-width:0!important}.chat-messages .message .message-content .message-text .badge,.chat-messages .message .message-content .message-text .tag{white-space:nowrap;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis}.chat-messages .message .message-content .message-text li{display:list-item;list-style-position:inside;max-width:100%;width:100%;box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;margin:8px 0}.chat-messages .message .message-content .message-text li text{display:inline}.chat-messages .message .message-content .message-text li em,.chat-messages .message .message-content .message-text li span,.chat-messages .message .message-content .message-text li strong{display:inline;vertical-align:baseline;max-width:100%;box-sizing:border-box}.chat-messages .message .message-content .message-text li strong{margin-right:8px;margin-bottom:0;vertical-align:top;line-height:1.4;min-width:-moz-fit-content;min-width:fit-content}.chat-messages .message .message-content .message-text li:has(strong){display:list-item;list-style-position:inside;max-width:100%;width:100%;box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.chat-messages .message .message-content .message-text li:has(strong) strong{display:inline;margin-right:8px;margin-bottom:0}.chat-messages .message .message-content .message-text li:has(strong)>:not(strong){display:inline;vertical-align:baseline}.chat-messages .message .message-content .message-text ol li,.chat-messages .message .message-content .message-text ul li{line-height:1.6;margin:6px 0;display:list-item;list-style-position:inside;max-width:100%;width:100%;box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.chat-messages .message .message-content .message-text ol li *,.chat-messages .message .message-content .message-text ul li *{vertical-align:baseline;max-width:100%;box-sizing:border-box}.chat-messages .message .message-content .message-text ol li:has(strong),.chat-messages .message .message-content .message-text ul li:has(strong){display:list-item;list-style-position:inside;max-width:100%;width:100%;box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.chat-messages .message .message-content .message-text ol li:has(strong) strong,.chat-messages .message .message-content .message-text ul li:has(strong) strong{display:inline;margin-right:8px}.chat-messages .message .message-content .message-text li{font-size:14px;line-height:1.4}.chat-messages .message .message-content .message-text li>*{vertical-align:baseline;display:inline}.chat-messages .message .message-content .message-text li em,.chat-messages .message .message-content .message-text li span,.chat-messages .message .message-content .message-text li strong,.chat-messages .message .message-content .message-text li text{display:inline;vertical-align:baseline;font-size:inherit;line-height:inherit}.chat-messages .message .message-content .message-time{font-size:11px;opacity:.7;margin-top:4px;display:block}.chat-messages .typing-indicator{display:flex;gap:4px;padding:8px 0}.chat-messages .typing-indicator span{width:8px;height:8px;background:#94a3b8;border-radius:50%;animation:typing 1.4s ease-in-out infinite}.chat-messages .typing-indicator span:first-child{animation-delay:-.32s}.chat-messages .typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.chat-input{padding:16px 20px;background:#fff;border-top:1px solid #e2e8f0}.chat-input .input-container{display:flex;gap:8px;align-items:center}.chat-input .input-container input{flex:1;padding:12px 16px;border:1px solid #e2e8f0;border-radius:24px;font-size:14px;outline:none;transition:all .2s ease;background:#f8fafc}.chat-input .input-container input:focus{border-color:#667eea;background:#fff;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.chat-input .input-container input:disabled{opacity:.6;cursor:not-allowed}.chat-input .input-container input::-moz-placeholder{color:#94a3b8}.chat-input .input-container input::placeholder{color:#94a3b8}.chat-input .input-container .send-button{width:40px;height:40px;border-radius:50%;padding:0;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.chat-input .input-container .send-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px rgba(102,126,234,.4)}.chat-input .input-container .send-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.chat-input .input-container .send-button svg{width:16px!important;height:16px!important;pointer-events:none;flex-shrink:0}@media(max-width:768px){.chat-toggle{bottom:15px;right:15px;width:55px;height:55px}.chat-toggle .chat-icon{font-size:24px}.chat-toggle .chat-icon svg{width:24px;height:24px}.chat-window{bottom:80px;right:15px;width:320px;height:550px}}@media(prefers-reduced-motion:reduce){.chat-toggle,.chat-window,.message,.typing-indicator span{animation:none;transition:none}}@media(prefers-color-scheme:dark){.chat-window{background:#1e293b;border-color:#334155}.chat-window .chat-messages{background:#0f172a}.chat-window .chat-messages .message.caroline .message-content{background:#334155;color:#e2e8f0;border-color:#475569}.chat-window .chat-input{background:#1e293b;border-color:#334155}.chat-window .chat-input .input-container input{background:#334155;border-color:#475569;color:#e2e8f0}.chat-window .chat-input .input-container input:focus{background:#475569;border-color:#667eea}.chat-window .chat-input .input-container input::-moz-placeholder{color:#94a3b8}.chat-window .chat-input .input-container input::placeholder{color:#94a3b8}.message-text .contact-clio h3{color:#f1f5f9}.message-text .contact-clio p strong{color:#cbd5e1}.message-text a{word-wrap:break-word;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.message-text a[href^="mailto:"],.message-text a[href^=http]{color:#c4b5fd;background-color:rgba(139,92,246,.25);padding:.12em .45em;border-radius:8px;text-decoration:underline;text-underline-offset:.18em}.message-text a[href^="mailto:"]:hover,.message-text a[href^=http]:hover{color:#ddd6fe;background-color:rgba(139,92,246,.35)}}.footer{background-color:#111827;color:#fff;padding:2rem 0}.footer-content{display:flex;justify-content:space-between;align-items:center}@media(max-width:768px){.footer-content{flex-direction:column;gap:1rem;text-align:center}}.footer-social{display:flex;gap:1rem}.footer-social a{width:40px;height:40px;background-color:hsla(0,0%,100%,.1);border-radius:9999px;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;transition:all .3s ease}.footer-social a:hover{background-color:#475569}.footer-social a i{font-size:1rem}.nav-backdrop{display:none}@media(max-width:768px){.nav-backdrop{display:block;position:fixed;inset:70px 0 0 0;z-index:1029;border:none;padding:0;margin:0;width:100%;cursor:default;background:rgba(15,23,42,.25);animation:navBackdropIn .2s ease}}@keyframes navBackdropIn{0%{opacity:0}to{opacity:1}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1030;height:70px;background:hsla(0,0%,100%,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,23,42,.06);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.navbar--scrolled{background:hsla(0,0%,100%,.94);border-bottom-color:rgba(15,23,42,.08);box-shadow:0 1px 0 rgba(15,23,42,.04),0 12px 40px rgba(15,23,42,.06)}@media(max-width:768px){.navbar--menu-open .nav-menu{box-shadow:0 24px 48px rgba(15,23,42,.12)}}.nav-container{max-width:1200px;margin:0 auto;padding:0 1.5rem;height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}.nav-brand__link{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:#111827;text-decoration:none;transition:color .15s ease}.nav-brand__link:hover{color:#475569}.nav-brand__link:focus-visible{outline:2px solid #3b82f6;outline-offset:4px;border-radius:.25rem}.nav-menu{display:flex;align-items:center;gap:.125rem}@media(min-width:769px){.nav-menu{gap:.25rem}}@media(max-width:768px){.nav-menu{position:fixed;left:0;right:0;top:70px;flex-direction:column;align-items:stretch;gap:0;padding:1rem 1.5rem 2rem;background:hsla(0,0%,100%,.98);backdrop-filter:blur(12px);border-bottom:1px solid #e5e7eb;transform:translateY(-100%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .25s ease,opacity .2s ease,visibility .2s}.nav-menu--open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}}.nav-link{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:#374151;text-decoration:none;border-radius:.5rem;transition:color .15s ease,background .15s ease}@media(max-width:768px){.nav-link{justify-content:flex-start;padding:1rem .5rem;font-size:1rem;border-radius:.75rem}}.nav-link:hover{color:#111827;background:rgba(15,23,42,.04)}.nav-link:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.nav-link--active{color:#111827;font-weight:600;background:rgba(59,130,246,.08)}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:none;border-radius:.5rem;background:rgba(0,0,0,0);cursor:pointer;color:#111827;transition:background .15s ease}@media(max-width:768px){.nav-toggle{display:flex}}.nav-toggle:hover{background:rgba(15,23,42,.06)}.nav-toggle:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.nav-toggle__bar{display:block;height:2px;width:100%;border-radius:1px;background:currentColor;transition:transform .25s ease,opacity .2s ease;transform-origin:center}.nav-toggle--open .nav-toggle__bar:first-child{transform:translateY(7px) rotate(45deg)}.nav-toggle--open .nav-toggle__bar:nth-child(2){opacity:0;transform:scaleX(0)}.nav-toggle--open .nav-toggle__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}