.button,.nav-cta,.action{clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));transition:transform .2s ease,background .2s ease}.button:hover,.nav-cta:hover,.action:hover{transform:translateY(-3px);background:#0a72d1}.nav-dropdown{position:relative}.products-toggle{border:0;background:transparent;color:var(--ink);font:14px Arial,Helvetica,sans-serif;padding:10px 0;cursor:pointer}.products-toggle span{display:inline-block;margin-left:4px;color:var(--blue);transition:transform .2s}.products-menu{position:absolute;z-index:20;top:calc(100% + 14px);left:-18px;width:265px;padding:10px;background:#fff;box-shadow:0 15px 35px #07192d26;border-top:2px solid var(--blue);opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s}.products-menu a{display:block!important;padding:10px 12px;color:var(--ink)!important}.products-menu a:hover{background:#f1f6fb;color:var(--blue)!important}.products-menu .all-products{margin-top:5px;border-top:1px solid var(--line);padding-top:14px;color:var(--blue)!important;font-weight:700}.nav-dropdown:hover .products-menu,.nav-dropdown.open .products-menu{opacity:1;visibility:visible;transform:none}.nav-dropdown:hover .products-toggle span,.nav-dropdown.open .products-toggle span{transform:rotate(180deg)}.hero-carousel{position:relative}.hero-frame{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .65s ease;overflow:hidden}.hero-frame.is-active{opacity:1;z-index:1}.hero-frame img{width:100%;height:100%;object-fit:cover;animation:hero-zoom 10s ease-in-out infinite alternate}.hero-frame figcaption{position:absolute;z-index:2;bottom:34px;left:34px;background:#08131f;color:#fff;padding:20px 24px;min-width:195px;clip-path:polygon(0 0,calc(100% - 15px) 0,100% 15px,100% 100%,15px 100%,0 calc(100% - 15px))}.hero-frame figcaption b{display:block;font-size:30px;line-height:1}.hero-frame figcaption span{font-size:12px;color:#aab9c8}.carousel-control{position:absolute;z-index:4;top:50%;width:58px;height:76px;border:0;background:#08131fc9;color:#fff;font-size:55px;font-weight:200;line-height:1;cursor:pointer;transform:translateY(-50%);transition:background .2s}.carousel-control:hover{background:var(--blue)}.previous{left:0}.next{right:0}.carousel-dots{position:absolute;z-index:4;bottom:22px;right:25px;display:flex;gap:8px}.carousel-dots button{width:28px;height:3px;border:0;background:#ffffff77;cursor:pointer}.carousel-dots button.is-active{background:#fff}.back-to-top{position:fixed;z-index:30;right:28px;bottom:28px;width:58px;height:58px;border:0;border-radius:16px;background:#111;color:#fff;font-size:30px;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px);transition:.2s;box-shadow:0 10px 30px #0003}.back-to-top.show{opacity:1;visibility:visible;transform:none}.back-to-top:hover{background:var(--blue)}@media(max-width:850px){.nav-dropdown{width:100%}.products-toggle{font-size:14px}.products-menu{position:static;width:100%;margin-top:4px;box-shadow:none;border:1px solid var(--line);display:none;opacity:1;visibility:visible;transform:none}.nav-dropdown.open .products-menu{display:block}.carousel-control{width:45px;height:56px;font-size:40px}.hero-frame figcaption{left:18px;bottom:18px}.back-to-top{right:18px;bottom:18px}}

/* React Bits Specular Button behaviour, adapted with a lightweight canvas.
   Two continuous, opposing streaks follow the pointer within 250px. */
.specular-button{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.specular-button__canvas{
  position:absolute;
  z-index:2;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  pointer-events:none;
  clip-path:inherit;
}
