/* Shared interaction tokens. Original theme CSS and JavaScript stay intact. */
:root{--fs-motion-fast:180ms;--fs-motion-base:280ms;--fs-motion-enter:520ms;--fs-motion-ease:cubic-bezier(.22,1,.36,1)}
@media(max-width:767px){.fs-site-header .fs-topbar{display:none}}
/* Keep the credit together, with the supplied white logo at its natural ratio. */
.fs-footer .fs-footer-logo{display:inline-block;max-width:100%;margin-bottom:20px}
.fs-footer-logo img{display:block;width:170px;max-width:100%;height:auto;object-fit:contain;filter:brightness(0) invert(1)}
.fs-footer .fs-footer-bottom{display:flex;justify-content:center;align-items:center;text-align:center;gap:0}
.fs-footer-copyright{display:block;width:100%;text-align:center;font-size:12px;line-height:1.8}
.fs-footer .fs-developer-credit{display:inline-block;white-space:nowrap;color:#aaa;font-size:12px;line-height:1.8}
.fs-developer-credit img{display:inline-block;width:64px;height:auto;max-height:17px;object-fit:contain;filter:none;vertical-align:middle;margin:0}
.fs-developer-credit:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:2px}
/* Business routes: an ink heading, a generous image stage and two direct links. */
.fs-home .fs-business-grid.fs-business-showcase{gap:22px}
.fs-home .fs-business-showcase .fs-business-card{padding:0;border:1px solid #d9d9d9;border-radius:10px;background:#fff;overflow:hidden;display:flex;flex-direction:column;transition:border-color var(--fs-motion-base),box-shadow var(--fs-motion-base),transform var(--fs-motion-base) var(--fs-motion-ease)}
.fs-business-heading{padding:25px 26px 24px;background:#151515;min-height:144px;position:relative}
.fs-home .fs-business-showcase .fs-business-heading h3{color:#fff;font-size:24px;font-weight:600;letter-spacing:-.03em;line-height:1.2;margin:0 0 10px}
.fs-home .fs-business-showcase .fs-business-heading p{color:#c6c6c6;font-size:14px!important;line-height:1.6!important;max-width:32ch;margin:0}
.fs-business-stage{display:grid;background:#fff;overflow:hidden;border-bottom:1px solid #eee;flex:1;min-width:0}
.fs-business-preview{grid-area:1/1;margin:0;min-width:0;display:grid;grid-template-rows:190px auto;padding:20px 28px 15px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity var(--fs-motion-base),transform var(--fs-motion-base) var(--fs-motion-ease),visibility var(--fs-motion-base)}
.fs-business-preview.is-current{opacity:1;visibility:visible;transform:none}
.fs-business-preview img{display:block;width:100%;height:100%;object-fit:contain;filter:none;mix-blend-mode:normal;transition:transform 420ms var(--fs-motion-ease)}
.fs-business-preview figcaption{text-align:center;color:#666;font-size:12px;line-height:1.5;padding-top:12px}
.fs-business-links{padding:7px 22px;background:#fafafa}
.fs-home .fs-business-showcase .fs-business-links a{min-height:52px;padding:9px 4px;color:#222;font-size:14px;line-height:1.45;gap:12px;border-bottom:1px solid #e3e3e3;transition:color var(--fs-motion-fast),padding var(--fs-motion-base) var(--fs-motion-ease)}
.fs-home .fs-business-showcase .fs-business-links a:last-child{border-bottom:0}
.fs-business-arrow{width:30px;height:30px;display:grid;place-items:center;flex-shrink:0;border:1px solid #ddd;border-radius:50%;font-size:17px;line-height:1;background:#fff;color:#111;transition:background var(--fs-motion-fast),color var(--fs-motion-fast),transform var(--fs-motion-base) var(--fs-motion-ease)}
.fs-home .fs-business-showcase .fs-business-links a:focus-visible{outline:2px solid #111;outline-offset:2px;border-radius:2px}
.fs-home .fs-business-card:focus-within{border-color:#555;box-shadow:0 12px 30px #0000000d}
.fs-business-links a:focus-visible .fs-business-arrow{background:#111;border-color:#111;color:#fff;transform:rotate(45deg)}
/* Interaction is limited to useful feedback; images retain their original colours. */
.fs-button,.fs-header-cta,.fs-card-quote,.fs-card-details,.fs-contact-submit,.fs-contact-channel,.fs-contact-float{transition:background-color var(--fs-motion-fast),border-color var(--fs-motion-fast),color var(--fs-motion-fast),box-shadow var(--fs-motion-base),transform var(--fs-motion-base) var(--fs-motion-ease)}
.fs-secondary-link span,.fs-button span,.fs-card-details span,.fs-header-cta span,.fs-update-link span{display:inline-block;transition:transform var(--fs-motion-base) var(--fs-motion-ease)}
.fs-button:focus-visible span,.fs-secondary-link:focus-visible span,.fs-card-details:focus-visible span{transform:translateX(4px)}
.fs-product-card,.fs-category-card,.fs-catalogue-card,.fs-update-card{transition:border-color var(--fs-motion-base),box-shadow var(--fs-motion-base),transform var(--fs-motion-base) var(--fs-motion-ease)}
.fs-category-image img,.fs-product-picture img,.fs-update-photo img{transition:transform 420ms var(--fs-motion-ease)}
.fs-question-list summary,.fs-contact-form input,.fs-contact-form textarea,.fs-contact-form select{transition:background-color var(--fs-motion-fast),border-color var(--fs-motion-fast),box-shadow var(--fs-motion-fast)}
.fs-question-list details[open] .fs-question-answer{animation:fs-answer-enter 240ms var(--fs-motion-ease) both}
@keyframes fs-answer-enter{from{opacity:.6;transform:translateY(-4px)}to{opacity:1;transform:none}}
.fs-site-header .fs-submenu-open>.sub-menu{animation:fs-menu-enter 200ms var(--fs-motion-ease) both}
@keyframes fs-menu-enter{from{opacity:.6;translate:0 -5px}to{opacity:1;translate:0 0}}
.page-title-content,.fs-page-heading{animation:fs-context-enter 380ms var(--fs-motion-ease) both}
@keyframes fs-context-enter{from{opacity:.7;translate:0 6px}to{opacity:1;translate:0 0}}
.article-2-item,.service-2-item,.profile-card{transition:box-shadow var(--fs-motion-base),border-color var(--fs-motion-base)}
/* Existing reveal hooks share the same restrained timing. */
.wow{animation-duration:var(--fs-motion-enter)!important;animation-delay:0ms!important}
/* JavaScript only decorates visible content. No content is hidden waiting for JS. */
.fs-entering{animation:fs-content-enter var(--fs-motion-enter) var(--fs-motion-ease) both;animation-delay:var(--fs-enter-delay,0ms)}
@keyframes fs-content-enter{from{opacity:.45;translate:0 14px}to{opacity:1;translate:0 0}}
@media(hover:hover) and (pointer:fine){
 .fs-home .fs-business-card:hover{border-color:#777;box-shadow:0 14px 35px #00000012;transform:translateY(-5px)}
 .fs-business-card:hover .fs-business-preview.is-current img{transform:scale(1.035)}
 .fs-home .fs-business-showcase .fs-business-links a:hover{color:#000;padding-left:9px}
 .fs-business-links a:hover .fs-business-arrow{background:#111;border-color:#111;color:#fff;transform:rotate(45deg)}
 .fs-button:hover span,.fs-secondary-link:hover span,.fs-card-details:hover span,.fs-header-cta:hover span{transform:translateX(4px)}
 .fs-product-card:hover,.fs-category-card:hover,.fs-catalogue-card:hover,.fs-update-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px #0000000a}
 .fs-category-card:hover img,.fs-update-card:hover img{transform:scale(1.035)}
 .fs-contact-float:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000014}
 .article-2-item:hover,.service-2-item:hover,.profile-card:hover{box-shadow:0 10px 26px #0000000a}
}
@media(max-width:1199px){.fs-business-heading{padding:22px;min-height:138px}.fs-home .fs-business-showcase .fs-business-heading h3{font-size:22px}.fs-business-preview{grid-template-rows:165px auto;padding:20px 22px 14px}.fs-business-links{padding-inline:18px}}
@media(max-width:767px){.fs-home .fs-business-grid.fs-business-showcase{gap:20px}.fs-business-heading{min-height:0;padding:23px 24px}.fs-home .fs-business-showcase .fs-business-heading h3{font-size:23px}.fs-home .fs-business-showcase .fs-business-heading p{max-width:none}.fs-business-preview{grid-template-rows:180px auto;padding:20px 28px 16px}.fs-business-links{padding:7px 20px}.fs-home .fs-business-showcase .fs-business-links a{font-size:14px;min-height:53px}}
/* Leave room for the floating contact control on narrow screens. */
@media(max-width:767px){.fs-footer .fs-footer-bottom{padding-bottom:42px}}
/* Apply immediately on a preference change, including already running effects. */
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .fs-entering{translate:none!important;opacity:1!important}
 .wow{visibility:visible!important}
}
@media print{.fs-entering{animation:none;opacity:1;translate:none}.fs-business-preview{display:none}.fs-business-preview.is-current{display:grid}}
