/* Motion layer: preserves the existing layout and works without hiding content. */
@keyframes fd-enter{from{opacity:.25;translate:0 22px}to{opacity:1;translate:0 0}}
.fd-enter{animation:fd-enter .75s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--enter-delay,0ms)}
.service-simple-icon,.person-photo,.commercial-photo,.button span,.text-link span{transition:transform .4s var(--ease),color .3s}
.services-editorial .service-panel{position:relative;transition:background .35s,border-color .35s}
.services-editorial .service-panel:not(.service-lead)::after{content:'';position:absolute;bottom:-1px;left:0;width:52px;height:2px;background:#dc7a35;transform:scaleX(0);transform-origin:left;transition:transform .4s}
.person-card{transition:translate .4s var(--ease),border-color .4s,box-shadow .4s;background-clip:padding-box}
.service-lead::after,.person-card::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(260px circle at var(--pointer-x,50%) var(--pointer-y,20%),#f28c4514,transparent 75%)}
.person-card{position:relative}
.contact-panel{transition:box-shadow .4s,border-color .4s}
.contact-panel:focus-within{box-shadow:0 12px 45px #102c3b14,0 0 0 2px #d98a4b55}
.button{transition:transform .3s var(--ease),box-shadow .3s,background .3s}
#navigation>a:not(.button){position:relative}
#navigation>a:not(.button)::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
#navigation>a:focus-visible::after,#navigation>a[aria-current="location"]::after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){
 .services-editorial .service-panel:not(.service-lead):hover{border-color:#d88d58;background:#183f4d04}
 .service-panel:hover .service-simple-icon{transform:translateY(-4px) rotate(-7deg);color:#dc7a35}
 .services-editorial .service-panel:hover::after,.person-card:hover::after{opacity:1;transform:scaleX(1)}
 .person-card:hover{translate:0 -5px;border-color:#8c7761;box-shadow:0 18px 40px #0002}
 .person-card:hover .person-photo,.commercial-team article:hover .commercial-photo{transform:scale(1.035)}
 .button:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0002}
 .button:hover span,.text-link:hover span{transform:translate(3px,-2px)}
 #navigation>a:hover::after{transform:scaleX(1)}
}
.person-card:focus-within::after,.service-lead:focus-within::after{opacity:1}
/* The assistant is an explicitly local demonstration, with no external requests. */
.fd-chat{position:fixed;right:28px;bottom:max(24px,env(safe-area-inset-bottom));z-index:120;color:#173747;font:16px/1.5 'DM Sans',sans-serif}
.fd-chat [hidden]{display:none!important}
.fd-chat button,.fd-chat a{touch-action:manipulation}
.fd-chat-launcher{display:flex;align-items:center;gap:12px;min-height:62px;padding:10px 20px 10px 12px;border:1px solid #ea9f66;border-radius:22px;background:#f39a59;color:#102b3a;box-shadow:0 8px 32px #0003;transition:transform .3s,box-shadow .3s}
.fd-chat-launcher:hover{transform:translateY(-4px);box-shadow:0 12px 36px #0004}
.fd-chat-launcher>span:last-child{display:flex;flex-direction:column;align-items:flex-start;font-weight:700;font-size:15px;line-height:1.3}
.fd-chat-launcher small{font-size:12px;font-weight:500;margin-top:3px;letter-spacing:.03em}
.fd-chat-symbol{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border:1px solid #102b3a30;border-radius:13px}
.fd-chat-symbol svg{width:25px;height:25px}
.fd-chat-panel{width:390px;height:min(610px,calc(100dvh - 48px));display:flex;flex-direction:column;background:#f8f8f5;border:1px solid #4b6774;border-radius:22px;overflow:hidden;box-shadow:0 24px 90px #00121c55;animation:fd-chat-open .3s var(--ease);transform-origin:bottom right}
@keyframes fd-chat-open{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
.fd-chat-header{display:flex;gap:12px;align-items:center;padding:20px;background:#123343;color:#f8f8f5;position:relative;border-bottom:2px solid #e69253}
.fd-chat-header .fd-chat-symbol{color:#f4a366;background:#f2a3680c;border-color:#e692534d}
.fd-chat-identity{flex:1}
.fd-chat-identity h2{font-size:18px;letter-spacing:-.025em;margin:0 0 4px}
.fd-chat-identity p{font-size:12px;color:#ccdae0;letter-spacing:.03em}
.fd-chat-close{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:1px solid #ffffff26;border-radius:50%;background:transparent;color:white;font-size:25px}
.fd-chat-close:hover{background:#ffffff12}
.fd-chat-demo{padding:10px 20px;background:#e9efee;color:#47616b;font-size:12px;display:flex;align-items:center;gap:8px}
.fd-chat-demo::before{content:'';width:6px;height:6px;border-radius:50%;background:#b9652e;flex-shrink:0}
.fd-chat-body{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:22px 20px;scroll-behavior:smooth}
.fd-chat-message{font-size:15px;line-height:1.65;padding:14px 16px;background:white;border:1px solid #dbe4e5;border-radius:3px 16px 16px;margin:0 20px 14px 0;overflow-wrap:anywhere;animation:fd-chat-open .25s var(--ease)}
.fd-chat-message strong{display:block;font-size:12px;color:#6c7e86;letter-spacing:.04em;margin-bottom:5px}
.fd-chat-message--user{margin:0 0 14px 30px;background:#153d50;color:#f8f8f5;border:0;border-radius:16px 3px 16px 16px}
.fd-chat-message--user strong{color:#bdd1da}
.fd-chat-options{display:flex;flex-direction:column;gap:8px;margin:18px 0}
.fd-chat-options button{min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;border:1px solid #c7d6da;border-radius:10px;background:transparent;color:#244858;text-align:left;font-size:14px;transition:background .2s,border-color .2s,translate .2s}
.fd-chat-options button:hover{background:#e9efed;border-color:#bc7743;translate:3px 0}
.fd-chat-options button span{color:#a25927}
.fd-chat-contact{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid #bd7947;color:#234b5b;font-weight:600;font-size:14px;margin-bottom:10px}
.fd-chat-form{display:flex;gap:8px;align-items:center;padding:14px 16px 10px;border-top:1px solid #dae3e5;background:#fff}
.fd-chat-form input{min-width:0;width:100%;height:46px;border:1px solid #ccd8dc;border-radius:10px;padding:10px 12px;background:#f7f9f8;color:#173747;font-size:16px}
.fd-chat-form button{width:46px;height:46px;flex-shrink:0;display:grid;place-items:center;background:#ef9656;color:#102b3a;border:0;border-radius:12px}
.fd-chat-footnote{padding:0 16px 12px;background:white;text-align:center;font-size:11px;color:#667c85}
@media(max-width:600px){
 .fd-chat{left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom));pointer-events:none}
 .fd-chat-panel{width:100%;max-width:390px;margin-left:auto;height:min(610px,calc(100dvh - 28px));pointer-events:auto}
 .fd-chat-launcher{padding:10px;border-radius:18px;min-height:58px;margin-left:auto;pointer-events:auto}
 .fd-chat-launcher>span:last-child{display:none}
 .fd-chat-header{padding:14px}.fd-chat-body{padding:16px}
}
@media(prefers-reduced-motion:reduce){
 .fd-enter,.fd-chat-panel,.fd-chat-message{animation:none!important}
 .fd-chat-body{scroll-behavior:auto}
 .fd-chat *,.person-card,.service-simple-icon,.person-photo,.commercial-photo{transition:none!important}
 .person-card:hover,.fd-chat-launcher:hover,.fd-chat-options button:hover,.button:hover{transform:none;translate:none}
}
